Para reducir la verbosidad de la lógica de validación, he creado una biblioteca para Android . Se encarga de la mayoría de las validaciones diarias mediante anotaciones y reglas integradas. Hay limitaciones tales como @TextRule
, @NumberRule
, @Required
, @Regex
, @Email
, @IpAddress
, @Password
, etc,
Puede agregar estas anotaciones a sus referencias de widget de IU y realizar validaciones. También le permite realizar validaciones de forma asíncrona, lo que es ideal para situaciones como la verificación de un nombre de usuario único desde un servidor remoto.
Hay un ejemplo en la página de inicio del proyecto sobre cómo usar las anotaciones. También puede leer la publicación de blog asociada donde he escrito códigos de muestra sobre cómo escribir reglas personalizadas para validaciones.
Aquí hay un ejemplo simple que muestra el uso de la 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;
La biblioteca es extensible, puede escribir sus propias reglas extendiendo la Rule
clase.