diff --git a/MVMCoreUI/Atomic/Atoms/FormFields/TextFields/EntryField.swift b/MVMCoreUI/Atomic/Atoms/FormFields/TextFields/EntryField.swift index 3efae2ac..195fa0b9 100644 --- a/MVMCoreUI/Atomic/Atoms/FormFields/TextFields/EntryField.swift +++ b/MVMCoreUI/Atomic/Atoms/FormFields/TextFields/EntryField.swift @@ -71,13 +71,17 @@ import UIKit public var showError: Bool { get { return entryFieldContainer.showError } set (error) { - self.feedback = error ? entryFieldModel?.errorMessage : entryFieldModel?.feedback + self.feedback = error ? errorMessage : entryFieldModel?.feedback self.feedbackLabel.textColor = error ? entryFieldModel?.errorTextColor?.uiColor ?? .mvmBlack : .mvmBlack self.entryFieldContainer.showError = error self.entryFieldModel?.showError = error } } + var errorMessage: String { + (entryFieldModel?.dynamicErrorMessage != nil ? entryFieldModel?.dynamicErrorMessage : entryFieldModel?.errorMessage) ?? "" + } + /// Toggles original or locked UI. public var isLocked: Bool { get { return entryFieldContainer.isLocked } @@ -326,7 +330,9 @@ import UIKit self.isSelected = true } - showError = model.isValid! + if model.dynamicErrorMessage != nil { + showError = model.isValid! + } } open override class func estimatedHeight(with model: MoleculeModelProtocol, _ delegateObject: MVMCoreUIDelegateObject?) -> CGFloat? { diff --git a/MVMCoreUI/Atomic/Atoms/FormFields/TextFields/EntryFieldModel.swift b/MVMCoreUI/Atomic/Atoms/FormFields/TextFields/EntryFieldModel.swift index d64f70ae..e5b58733 100644 --- a/MVMCoreUI/Atomic/Atoms/FormFields/TextFields/EntryFieldModel.swift +++ b/MVMCoreUI/Atomic/Atoms/FormFields/TextFields/EntryFieldModel.swift @@ -21,6 +21,7 @@ import Foundation public var backgroundColor: Color? public var title: String? public var feedback: String? + public var dynamicErrorMessage: String? public var errorMessage: String? public var errorTextColor: Color? public var enabled: Bool = true @@ -67,6 +68,7 @@ import Foundation //-------------------------------------------------- public func formFieldValue() -> AnyHashable? { + dynamicErrorMessage = nil return text } diff --git a/MVMCoreUI/Atomic/Templates/MoleculeListTemplate.swift b/MVMCoreUI/Atomic/Templates/MoleculeListTemplate.swift index d5fa9100..5884c763 100644 --- a/MVMCoreUI/Atomic/Templates/MoleculeListTemplate.swift +++ b/MVMCoreUI/Atomic/Templates/MoleculeListTemplate.swift @@ -166,7 +166,7 @@ open class MoleculeListTemplate: ThreeLayerTableViewController, TemplateProtocol let entryFieldModel = formValidator?.fields[fieldKey] as? EntryFieldModel else { continue } - entryFieldModel.errorMessage = userError + entryFieldModel.dynamicErrorMessage = userError entryFieldModel.isValid = true entryFieldModel.text = ""