Как проверить всю проверку моего текстового поля в swift с функцией textfield () - PullRequest
0 голосов
/ 02 сентября 2018

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

электронная почта в моем коде является дополнительной вот мой код

func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {

    let set = CharacterSet(charactersIn: "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ")

    // Casting String as NSString to be able to replace characters using NSRange easily.
    guard let text = textField.text as NSString? else { return true }

    // Get the length of the final text
    let finalTextCount = text.replacingCharacters(in: range, with: string).count

    // Setup the text count for the field depending on which one was edited
    let nomorTextFieldCount = textField == nomorTextField ? finalTextCount :
        nomorTextField.text!.count

    let emailTextFieldCount = textField == emailTextFeild ? finalTextCount :
        emailTextFeild.text!.count
    if let floatingLabelTextField = textField as? SkyFloatingLabelTextField {
        nomorTextField.tag=1
        emailTextFeild.tag=2


        if textField.tag==1{

            if nomorTextFieldCount == 0 {
                floatingLabelTextField.errorMessage = "Nomor can't empty"
                nextButton.isEnabled = false

            }else if nomorTextFieldCount < 10   {
                floatingLabelTextField.errorMessage = "Nomor can't less than  10"
                nextButton.isEnabled = false

            }else if (nomorTextFieldCount > 12 ) {
                floatingLabelTextField.errorMessage = "Nomor can't more than 12"
                nextButton.isEnabled = false

            }

            else {
                floatingLabelTextField.errorMessage = ""
                nextButton.isEnabled = true

            }
        }else if textField.tag==2{
            if emailTextFieldCount == 0 {
                floatingLabelTextField.errorMessage = ""
                nextButton.isEnabled = true

            }
            else if emailTextFeild.text?.isEmail == false {
                floatingLabelTextField.errorMessage = "email format wrong"
                nextButton.isEnabled = false

            }else {
                floatingLabelTextField.errorMessage = ""
                nextButton.isEnabled = true

            }
        }
    }
    return true

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...