Как сделать проверку формы в android

У меня есть регистрационная форма, которую мне нужно проверить перед отправкой. Форма имеет следующие поля: имя, адрес электронной почты, номер контакта и пароль. Мне нужно, чтобы имя имело значение, электронное письмо имело правильный формат, номер контакта должен содержать номера не менее 10 номеров, а пароль должен быть не менее 6 символов.

Ответ 1

попробуйте это

vUsername = etUsername.getText().toString();
vFirstname = etFirstname.getText().toString();
vEmail = etEmail.getText().toString(); 
vPwd = etPwd.getText().toString();
vCpwd = etCpwd.getText().toString();   

if("".equalsIgnoreCase(vUsername) //vUsername.equalsIgnoreCase("") could lead to NPE
   || "".equalsIgnoreCase(vFirstname)
   || "".equalsIgnoreCase(vEmail)
   || "".equalsIgnoreCase(vPwd)
   || "".equalsIgnoreCase(vCpwd) )
{
    Toast.makeText(userRegistration.this, "All Fields Required.", 
         Toast.LENGTH_SHORT).show();
}
checkemail(vEmail);
if(emailcheck==true)
{
    // your code here
}

public void checkemail(String email)
{
    Pattern pattern = Pattern.compile("[email protected]+\\.[a-z]+");
    Matcher matcher = pattern.matcher(email);
    emailcheck = matcher.matches();
}

Ответ 2

В качестве альтернативы вы можете использовать библиотеку проверки, чтобы выполнить ваши проверки на Android. Он управляется аннотацией и тем самым уменьшает количество кода котельной. Ваш вариант использования, когда он был разрешен с помощью этого приложения, будет выглядеть следующим образом:

@Required(order = 1)
@Email(order = 2)
private EditText emailEditText;

@Password(order = 3)
@TextRule(order = 4, minLength = 6, message = "Enter at least 6 characters.")
private EditText passwordEditText;

@ConfirmPassword(order = 5)
private EditText confirmPasswordEditText;

@Checked(order = 6, message = "You must agree to the terms.")
private CheckBox iAgreeCheckBox;

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

PS: Я являюсь автором этой библиотеки.

Ответ 3

для проверки edittext, используйте android: inputtype, android: maxLength.

Кроме того, можно использовать регулярное выражение для проверки формы

Ответ 4

Вы можете использовать API проверки Android по умолчанию.

Вот очень простой учебник: http://blog.donnfelker.com/2011/11/23/android-validation-with-edittext/

Ключ должен использовать метод setError на вашем EditText. Он будет инициировать пользовательский интерфейс проверки подлинности по умолчанию с предоставленным текстом ошибки.

Ответ 5

У вас есть две возможности:

  • прослушать изменения в содержимом поля и запустить проверку этого конкретного поля или
  • прослушать нажатие кнопки отправки и проверить содержимое всех полей для отправки.

Еще одна проверка - это то же самое, что и в любом другом приложении Java: просто проверьте свои ограничения.

Кстати: ваш вопрос уже был ответил на stackoverflow.