diff --git a/VDS/Components/TextFields/EntryFieldBase.swift b/VDS/Components/TextFields/EntryFieldBase.swift index 3f9cc00f..dffbb48d 100644 --- a/VDS/Components/TextFields/EntryFieldBase.swift +++ b/VDS/Components/TextFields/EntryFieldBase.swift @@ -205,7 +205,7 @@ open class EntryFieldBase: Control, Changeable, FormFieldInternalValidatable { open var defaultValue: AnyHashable? { didSet { setNeedsUpdate() } } - open var required: Bool = false { didSet { setNeedsUpdate() } } + open var required: Bool = false { didSet { validate() } } open var readOnly: Bool = false { didSet { setNeedsUpdate() } } @@ -306,17 +306,17 @@ open class EntryFieldBase: Control, Changeable, FormFieldInternalValidatable { /// Used to make changes to the View based off a change events or from local properties. open override func updateView() { super.updateView() - updateRules() - validator = FormFieldValidator(field: self, rules: rules) - validator?.validate() - updateContainerView() updateTitleLabel() updateErrorLabel() updateHelperLabel() - - backgroundColor = surface.color - + } + + open func validate(){ + updateRules() + validator = FormFieldValidator(field: self, rules: rules) + validator?.validate() + setNeedsUpdate() } //-------------------------------------------------- diff --git a/VDS/Components/TextFields/InputField/InputField.swift b/VDS/Components/TextFields/InputField/InputField.swift index 1f1dec4b..5f8019e0 100644 --- a/VDS/Components/TextFields/InputField/InputField.swift +++ b/VDS/Components/TextFields/InputField/InputField.swift @@ -172,6 +172,7 @@ open class InputField: EntryFieldBase { .sink { [weak self] newText in print("textPublisher newText: \(newText)") self?.text = newText + self?.validate() self?.sendActions(for: .valueChanged) }.store(in: &subscribers) diff --git a/VDS/Components/TextFields/TextArea/TextArea.swift b/VDS/Components/TextFields/TextArea/TextArea.swift index 8dd9485a..f37c9d39 100644 --- a/VDS/Components/TextFields/TextArea/TextArea.swift +++ b/VDS/Components/TextFields/TextArea/TextArea.swift @@ -141,7 +141,7 @@ open class TextArea: EntryFieldBase { } didSet { - setNeedsUpdate() + validate() } } @@ -349,5 +349,6 @@ extension TextArea: UITextViewDelegate { text = textView.text sendActions(for: .valueChanged) } - } + validate() + } }