概述

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()发起异步验证
}
});