Android Saripaar下载地址:https://github.com/ragunathjawahar/android-saripaarSaripaar特性:
使用Annotation标注的生命性规则
可扩展性
支持同步/异步验证,无线担心线程问题
使用简单,只需下载 jar包,放到项目的libs目录下即可
使用规则来隔离验证逻辑
兼容其他Annotation框架,例如 AndroidAnnotations, RoboGuice,// 使用android-saripaar提供的Annotation来标注验证规则
@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;
// 每个规则都是顾名思义的,其中 order 属性 是必须的,用来告诉Saripaar这些输入规则的验证顺序。// 初始化一个Validator
public void onCreate() {
super.onCreate();
// Code…
validator = new Validator(this);
validator.setValidationListener(this);
// More code…
}
// 需要一个Validator 和 ValidationListener。后者用来接收验证结果通知。// 实现一个ValidationListener
public class RegistrationActivity implements ValidationListener {
public void onValidationSucceeded() {
Toast.makeText(this, "Yay! we got it right!", Toast.LENGTH_SHORT).show();
}
public void onValidationFailed(View failedView, Rule> failedRule) {
String message = failedRule.getFailureMessage();
if (failedView instanceof EditText) {
failedView.requestFocus();
((EditText) failedView).setError(message);
} else {
Toast.makeText(this, message, Toast.LENGTH_SHORT).show();
}
}
}
// onValidationSucceeded() - 当所有验证规则都通过时调用该函数
// onValidationFailed(View, Rule>) - 当验证失败时调用该函数,View为失败的控件,Rule为具体的规则.// 发起验证
registerButton.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
validator.validate();
}
});
// Validator.validate() 发起验证,并通过 ValidationListener 来通知验证结果。
// 调用函数 Validator.validateAsync() 可以在一个AsyncTask中发起验证。