From 5faa20cf9bf24a8f3a9bc2e5f339970fa26014ca Mon Sep 17 00:00:00 2001 From: Kevin G Christiano Date: Wed, 17 Feb 2021 17:13:57 -0500 Subject: [PATCH] moved by request --- .../TextFields/TextEntryField.swift | 37 ++++++++++--------- 1 file changed, 20 insertions(+), 17 deletions(-) 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() }