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