Para reduzir a verbosidade da lógica de validação, criei uma biblioteca para Android . Ele cuida da maioria das validações do dia-a-dia usando Anotações e regras internas. Há restrições, como @TextRule
, @NumberRule
, @Required
, @Regex
, @Email
, @IpAddress
, @Password
, etc.,
Você pode adicionar essas anotações às referências do widget da interface do usuário e executar validações. Também permite realizar validações de forma assíncrona, o que é ideal para situações como verificação de nome de usuário exclusivo de um servidor remoto.
Há um exemplo na página inicial do projeto sobre como usar anotações. Você também pode ler a postagem do blog associado, onde escrevi exemplos de códigos sobre como escrever regras personalizadas para validações.
Aqui está um exemplo simples que descreve o uso da biblioteca.
@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;
A biblioteca é extensível, você pode escrever suas próprias regras estendendo a Rule
classe.