diff --git a/VDS/Components/TextFields/InputField/InputField.swift b/VDS/Components/TextFields/InputField/InputField.swift index 9a079000..875405b9 100644 --- a/VDS/Components/TextFields/InputField/InputField.swift +++ b/VDS/Components/TextFields/InputField/InputField.swift @@ -375,14 +375,24 @@ open class InputField: EntryFieldBase { super.updateRules() switch fieldType { - case .date: - let rule = CharacterCountRule().copyWith { - $0.maxLength = dateFormat.maxLength - $0.compareType = .equals - $0.errorMessage = "Enter a valid date" + case .tel: + if let text = textField.text, text.count > 0 { + let rule = CharacterCountRule().copyWith { + $0.maxLength = "XXX-XXX-XXXX".count + $0.compareType = .equals + $0.errorMessage = "Enter a valid telephone." + } + rules.append(.init(rule)) + } + case .date: + if let text = textField.text, text.count > 0 { + let rule = CharacterCountRule().copyWith { + $0.maxLength = dateFormat.maxLength + $0.compareType = .equals + $0.errorMessage = "Enter a valid date." + } + rules.append(.init(rule)) } - rules.append(.init(rule)) - default: break } @@ -448,7 +458,7 @@ open class InputField: EntryFieldBase { open var dateFormat: DateFormat = .mmddyy { didSet { setNeedsUpdate() } } private func formatDate(_ input: String) -> String { - var formattedInput = input.filter { $0.isNumber } // Remove any existing slashes + let formattedInput = input.filter { $0.isNumber } // Remove any existing slashes var formattedString = "" var currentIndex = formattedInput.startIndex