Проверка, чтобы видеть, являются ли поля пустыми, не работает - PullRequest
0 голосов
/ 28 августа 2018

Кажется, у меня проблемы с этим кодом. Попытка запустить проверку, чтобы убедиться, что поля имеют текст. Если в полях нет текста, он должен отображать 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 ]

0 голосов
/ 29 августа 2018

Вам не нужно использовать охрану, потому что emailTxtField.text/passwordTxtField.text возвращается как "", если они пусты.

Для точных результатов проверьте count of для текста.

@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")
        }
    }
}
0 голосов
/ 28 августа 2018

Сделайте ваш чек простым, как показано ниже, чтобы проверить, есть ли у UITextfield текст или нет:

if emailTxtField.text == "" || passwordTxtField.text == "" {
    SVProgressHUD.showError(withStatus: "Email/Password Can't Be Empty")
    return
}

SVProgressHUD.show(withStatus: "Signing In...")

Надеюсь, это поможет вам.

...