Afin de réduire la verbosité de la logique de validation, j'ai rédigé un fichier bibliothèque pour Android . Il prend en charge la plupart des validations quotidiennes à l'aide d'annotations et de règles intégrées. Il existe des contraintes telles que @TextRule
, @NumberRule
, @Required
, @Regex
, @Email
, @IpAddress
, @Password
etc,
Vous pouvez ajouter ces annotations aux références de vos widgets d'interface utilisateur et effectuer des validations. Il vous permet également d'effectuer des validations de manière asynchrone, ce qui est idéal dans des situations telles que la vérification d'un nom d'utilisateur unique sur un serveur distant.
Il existe un exemple sur le site page d'accueil du projet sur la façon d'utiliser les annotations. Vous pouvez également lire le billet de blog associé où j'ai écrit des exemples de codes sur la façon d'écrire des règles personnalisées pour les validations.
Voici un exemple simple qui illustre l'utilisation de la bibliothèque.
@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 bibliothèque est extensible, vous pouvez écrire vos propres règles en étendant le module Rule
classe.