Проверка нескольких полей UITextField в Swift

#swift #validation #uitextfield

Вопрос:

Мне нужно выполнить проверку нескольких текстовых полей в форме регистрации. У меня есть валидаторы, которые выдают ошибку, когда текст в текстовом поле недопустим, и у меня есть функция, которая проверяет все текстовое поле

     func validateTextFields() {
    do {
        let email = try emailTextField.validatedText(validationType: ValidatorType.email)
        let userName = try userNameTextField.validatedText(validationType: ValidatorType.userName)
        let birthday = try birthdayTextField.validatedText(validationType: ValidatorType.birthday)
        let password = try oldPasswordTextField.validatedText(validationType: ValidatorType.password)
    } catch ValidationError.InvalidEmail {
        emailTextField.showErrorLabel(error: "Invalid email")
    } catch ValidationError.UserNameIsTooShort {
        userNameTextField.showErrorLabel(error: "UserName is too short")
    } catch ValidationError.InvalidPassword {
        oldPasswordTextField.showErrorLabel(error: "Invalid password")
    } catch ValidationError.InvalidBirthday {
        birthdayTextField.showErrorLabel(error: "Invalid Birthday")
    } catch let error {
        #if DEBUG
        print(error.localizedDescription)
        #endif
    }
}
 

Проблема этой функции в том, что она улавливает одну ошибку, а затем перестает работать, и я вижу только одну метку ошибки в своей форме. Как мне выполнить проверку нескольких текстовых полей в swift. Должен ли я выдавать ошибки проверки или я могу использовать логические значения для проверки. Я хотел сделать это с помощью IBOutletCollection, но я не знаю, как я могу заставить текстовое поле знать, какую проверку оно должно пройти для цикла