Проверка, чтобы видеть, являются ли поля пустыми, не работает
Кажется, у меня проблемы с этим кодом. Попытка запустить проверку, чтобы убедиться, что поля имеют текст. Если в полях нет текста, он должен отображать HUD с текстом "Электронная почта / пароль не могут быть пустыми". Похоже, что он игнорирует проверку и сразу переходит к попытке входа. Когда я удаляю принудительное развертывание, он останавливается и выполняет проверку, но если в полях есть текст, то сообщение HUD не переходит вперед. "
@IBAction func logInDidTapped(_ sender: Any) {
guard let email = emailTxtField.text, !email.isEmpty,
let password = passwordTxtField.text, !password.isEmpty else {
SVProgressHUD.showError(withStatus: "Email/Password Can't Be Empty")
return
}
SVProgressHUD.show(withStatus: "Signing In...")
}
2 ответа
Сделайте ваш чек таким же простым, как следующее, чтобы проверить, UITextfield
есть текст или нет:
if emailTxtField.text == "" || passwordTxtField.text == "" {
SVProgressHUD.showError(withStatus: "Email/Password Can't Be Empty")
return
}
SVProgressHUD.show(withStatus: "Signing In...")
Надеюсь, что это помогает вам.
Вы не обязаны использовать охрану, потому что emailTxtField.text/passwordTxtField.text
возвращается как ""
если они пусты.
Для точных результатов проверьте count
из для текста.
@IBAction func logInDidTapped(_ sender: Any) {
if let email = emailTxtField.text,
let password = passwordTxtField.text {
if email.count > 0 && password.count > 0 {
SVProgressHUD.show(withStatus: "Signing In...")
} else {
SVProgressHUD.showError(withStatus: "Email/Password Can't Be Empty")
}
}
}