Android的表单验证库?

TN.*_*TN. 17 java validation android

是否有适用于Android的成熟表单验证API /库?我找到了http://code.google.com/p/android-binding/,但似乎正在大力发展.

更新:只是为了澄清我的问题.目前,我必须进行硬编码表单验证.我想知道,如果有一个成熟的表单验证库允许我以声明方式指定验证器(例如直接在XML中或在代码中使用注释或以功能流畅的方式,......).

Rag*_*har 23

该库现在支持注释,您只需添加它们即可验证字段.这是一个示例代码段.

@NotEmpty
@Order(1)
private EditText fieldEditText;

@Checked(message = "You must agree to the terms.")
@Order(2)
private CheckBox iAgreeCheckBox;

@Length(min = 3, message = "Enter atleast 3 characters.")
@Pattern(regex = "[A-Za-z]+", message = "Should contain only alphabets")
@Order(3)
private TextView regexTextView;

@Password
@Order(4)
private EditText passwordEditText;

@ConfirmPassword
@Order(5)
private EditText confirmPasswordEditText;
Run Code Online (Sandbox Code Playgroud)

订单注释是可选的,并指定应验证字段的顺序.如果您希望在验证期间保留字段的顺序,则仅需要此选项.还有其他一些注解,例如@Email,@IpAddress,@Isbn等,

Android Studio/Gradle

compile 'com.mobsandgeeks:android-saripaar:2.0.2'
Run Code Online (Sandbox Code Playgroud)

检查最新版本.

Eclipse
您可以从此处下载jar 并将其添加到您的Android libs目录中.

旧答案(Saripaar v1)
我撰写了一个用于验证的库.这是相关的博客项目.我已成功地在生产应用程序中使用它,它目前满足我们在Android验证表单中遇到的大多数常见场景.有一些开箱即用的规则,如果你需要编写自己的规则,你可以通过编写自己的规则来做到这一点.

这是一个片段,说明了库的使用.

validator.put(nameEditText, Rules.required("Name is required."));
validator.put(nameEditText, Rules.minLength("Name is too short.", 3));
validator.put(emailEditText, Rules.regex("Email id is invalid.", Rules.REGEX_EMAIL, trim));
validator.put(confirmPwdEditText, Rules.eq("Passwords don\'t match.", pwdEditText);
Run Code Online (Sandbox Code Playgroud)

也有orand规则,允许用户执行&&||操作上的一些规则.还有一个compositeOrcompositeAnd规则,允许你把几个视图之间进行验证.

如果其中任何一个似乎不够,您可以通过扩展Rule类来编写自己的规则.