diff --git a/Sources/ValidatorUI/Classes/SUI/Managers/FormField/FormFieldManager/FormFieldManager.swift b/Sources/ValidatorUI/Classes/SUI/Managers/FormField/FormFieldManager/FormFieldManager.swift index b3ee0f2..7e2a01b 100644 --- a/Sources/ValidatorUI/Classes/SUI/Managers/FormField/FormFieldManager/FormFieldManager.swift +++ b/Sources/ValidatorUI/Classes/SUI/Managers/FormField/FormFieldManager/FormFieldManager.swift @@ -10,8 +10,9 @@ import ValidatorCore public final class FormFieldManager: IFormFieldManager { // MARK: Properties - @Published public var isValid = true + @Published public var isValid = false + private var cancellables = Set() private var validators: [any IFormValidationContainer] = [] // MARK: Initialization @@ -21,6 +22,14 @@ public final class FormFieldManager: IFormFieldManager { // MARK: IFormFieldManager public func append(validator: some IFormValidationContainer) { + validator + .publisher + .sink(receiveValue: { [weak self] _ in + self?.validate() + } + ) + .store(in: &cancellables) + validators.append(validator) validate() }