diff --git a/MVMCoreUI/Atomic/Atoms/FormFields/TextFields/TextEntryField.swift b/MVMCoreUI/Atomic/Atoms/FormFields/TextFields/TextEntryField.swift index 91d64e90..6ff196c7 100644 --- a/MVMCoreUI/Atomic/Atoms/FormFields/TextFields/TextEntryField.swift +++ b/MVMCoreUI/Atomic/Atoms/FormFields/TextFields/TextEntryField.swift @@ -97,23 +97,7 @@ import UIKit get { textField.text } set { textEntryFieldModel?.text = newValue - - guard let regex = textEntryFieldModel?.displayFormat, - let mask = textEntryFieldModel?.displayMask, - let newText = newValue - else { - textField.text = newValue - return - } - - let range = NSRange(newText.startIndex..., in: newText) - - if let regex = try? NSRegularExpression(pattern: regex) { - let maskedText = regex.stringByReplacingMatches(in: newText, - range: range, - withTemplate: mask) - textField.text = maskedText - } + textField.text = newValue } } @@ -279,9 +263,28 @@ import UIKit self.isValid = isValid } + regexTextFieldOutputIfAvailable() + shouldShowError(!isValid) } + func regexTextFieldOutputIfAvailable() { + + if let regex = textEntryFieldModel?.displayFormat, + let mask = textEntryFieldModel?.displayMask, + let finalText = text { + + let range = NSRange(finalText.startIndex..., in: finalText) + + if let regex = try? NSRegularExpression(pattern: regex) { + let maskedText = regex.stringByReplacingMatches(in: finalText, + range: range, + withTemplate: mask) + textField.text = maskedText + } + } + } + @objc public func dismissFieldInput(_ sender: Any?) { resignFirstResponder() }