概述
Android Saripaar是一个简单,但是超级强大的Android UI验证框架,可以说是Android中最简单易用的验证框架了。
saripaar有以下几点特性:
- 用Annotations声明验证的规则
- 可拓展
- 支持同步和异步验证,不需要考虑线程
- 只使用Stock Android Widgets,而木有自定义view的依赖
- 下个jar导入项目就可以开撸了
- 用规则来隔离验证逻辑
- 兼容其他Annotation frameworks
开撸
1.用自带的Annotations来标记要验证的UI控件:
1 2 3 4 5 6 7 8 9 10 11 12 13
| @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表示验证的优先级,message表示错误要输出的提示语句,其他的看名字就大概知道意思啦。
2.实例化一个Validator对象
1 2 3 4 5 6 7 8 9
| public void onCreate() { super.onCreate(); // Code…
validator = new Validator(this); validator.setValidationListener(this);
// More code… }
|
3.实现一个ValidationListener
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| public class RegistrationActivity implements ValidationListener {
@Override public void preValidation() { // TODO Auto-generated method stub
}
@Override public void onSuccess() { // TODO Auto-generated method stub
}
@Override public void onFailure(View failedView, Rule<?> failedRule) { // TODO Auto-generated method stub //failedRule.getFailureMessage()获取message错误提示 }
@Override public void onValidationCancelled() { // TODO Auto-generated method stub
}
}
|
4.发起验证
1 2 3 4 5 6
| registerButton.setOnClickListener(new OnClickListener() { public void onClick(View v) { validator.validate(); //可以用validator.validateAsync()发起异步验证 } });
|