为了减少验证逻辑的冗长,我为 Android 编写了一个库。它使用注释和内置规则处理大部分日常验证。有@TextRule
, @NumberRule
, @Required
, @Regex
, @Email
, @IpAddress
,@Password
等约束,
您可以将这些注释添加到您的 UI 小部件引用并执行验证。它还允许您异步执行验证,这对于检查远程服务器的唯一用户名等情况非常理想。
项目主页上有一个关于如何使用注释的示例。您还可以阅读相关的博客文章,其中我编写了有关如何编写自定义验证规则的示例代码。
这是一个描述库使用的简单示例。
@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
该库是可扩展的,您可以通过扩展类来编写自己的规则。