refactored validation again

Signed-off-by: Matt Bruce <matt.bruce@verizon.com>
This commit is contained in:
Matt Bruce 2024-04-30 16:24:09 -05:00
parent 06d56fd70e
commit c0b59694f2
3 changed files with 12 additions and 10 deletions

View File

@ -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<EntryFieldBase>(field: self, rules: rules)
validator?.validate()
updateContainerView()
updateTitleLabel()
updateErrorLabel()
updateHelperLabel()
backgroundColor = surface.color
}
open func validate(){
updateRules()
validator = FormFieldValidator<EntryFieldBase>(field: self, rules: rules)
validator?.validate()
setNeedsUpdate()
}
//--------------------------------------------------

View File

@ -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)

View File

@ -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()
}
}