Я использую код fololowing для проверки на вход e-mailAndroid: проверка OnTextChanged электронной почты не работает, как ожидалось
private boolean validateEmail(String email) {
String emailPattern = "^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-][email protected]((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$";
Pattern pattern = Pattern.compile(emailPattern);
Matcher matcher = pattern.matcher(email);
return matcher.matches();
}
я исполню это на onTextChanged
. Код ниже (я использую)
@OnTextChanged(R.id.et_email)
public void checkCorrectEmail() {
if (!validateEmail(mEditTextEmail.getText().toString().trim())) {
isValidated = false;
mEditTextEmail.setError("Please enter email address");
mEditTextEmail.requestFocus();
} else {
isValidated = true;
}
}
Проблема в том, что она недостаточно умна. Например, если я нахожу [email protected]
, он все еще показывает сообщение об ошибке. Однако, если я набираю [email protected]
, тогда space
и щелкнул удалять space
, тогда все в порядке, ошибка исчезла.
Раньше эта проверка была на onClick
кнопки. Что я тут сделал?
Рассмотрите возможность принятия ответа, если ему помогли !! – W4R10CK