From 1b02ca2233bb29c16350703135733a45a1d4c16a Mon Sep 17 00:00:00 2001 From: Nikita Vasilev Date: Sun, 23 Nov 2025 00:25:53 +0400 Subject: [PATCH] fix: ensure form manager correctly updates isValid --- .../FormField/FormFieldManager/FormFieldManager.swift | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) 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() }