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)
也有or
和and
规则,允许用户执行&&
和||
操作上的一些规则.还有一个compositeOr
和compositeAnd
规则,允许你把几个视图之间进行验证.
如果其中任何一个似乎不够,您可以通过扩展Rule类来编写自己的规则.
归档时间: |
|
查看次数: |
10492 次 |
最近记录: |