Чтобы уменьшить детализацию логики проверки, я создал библиотеку для Android . Он заботится о большинстве повседневных проверок с использованием аннотаций и встроенных правил. Есть ограничения , такие как @TextRule
, @NumberRule
, @Required
, @Regex
, @Email
, @IpAddress
, @Password
и т.д.,
Вы можете добавить эти аннотации к ссылкам на виджеты вашего пользовательского интерфейса и выполнить проверки. Это также позволяет выполнять проверки асинхронно, что идеально подходит для таких ситуаций, как проверка уникального имени пользователя с удаленного сервера.
На домашней странице проекта приведен пример использования аннотаций. Вы также можете прочитать соответствующий пост в блоге, где я написал примеры кодов о том, как писать собственные правила для проверок.
Вот простой пример, который изображает использование библиотеки.
@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;
Библиотека расширяемая, вы можете написать свои собственные правила, расширяя Rule
класс.