Validation简介:
这是一个简单的函数库,使用注释语法来验证用户输入的表单信息。你仅需编写几行代码就可以实现一些表单验证功能,且显示的所有视图都将反馈给用户。它还带有一个可扩展的在线验证选项,这样你就可以为定制试图编写自己的验证信息及适配器了。
Validation的特点:
- Required (必填)
- NotBlank (非空数据)
- Digits (仅数字)
- Email (电子邮件)
- 2选一必填项验证
- 重复密码验证
- HTTPURL (Http URL)
- 手机号码格式验证等
基本用法:
- 先创建个表单Form类用来装控件
- 然后创建Validate类,将被验证(如:EditText)控件传入
- 将这个Validate类addValidator加入(如:非空类型NotEmptyVerifior)类型验证类
- Form表单addValidates这个Validate类即可
- 最后调用form.validate()验证即可,返回true表示验证通过。
代码演示:
使用 Validation 进行基本的非空验证、2选1必填验证、邮箱、重复密码、网址、手机号验证
package com.example.validationtest;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import com.throrinstudio.android.common.libs.validator.Form;
import com.throrinstudio.android.common.libs.validator.Validate;
import com.throrinstudio.android.common.libs.validator.validate.ConfirmValidate;
import com.throrinstudio.android.common.libs.validator.validate.OrTwoRequiredValidate;
import com.throrinstudio.android.common.libs.validator.validator.EmailValidator;
import com.throrinstudio.android.common.libs.validator.validator.NotEmptyValidator;
import com.throrinstudio.android.common.libs.validator.validator.UrlValidator;
/**
* 1.非空验证
* 2.二选一验证
* 3.邮件验证
* 4.重复密码确认
* 5.网址验证
*
* @author Administrator
*
*/
public class MainActivity extends Activity {
private EditText et_notEmpty, et_or1, et_or2, et_email, et_password1,
et_password2, et_url;
private Button bt_ok;
private Form form;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
setListener();
validateForm();
}
//格式验证
private void validateForm() {
// 1. 先创建个表单Form类用来装控件
form = new Form();
// 非空验证
// 2. 然后创建Validate类,将被验证控件传入
Validate notEmptyValidate = new Validate(et_notEmpty);
// 3. 将这个Validate类addValidator加入(如:非空类型NotEmptyVerifior)类型验证类
NotEmptyValidator notEmpty = new NotEmptyValidator(this);
notEmptyValidate.addValidator(notEmpty);
// 二选一
OrTwoRequiredValidate orTwoRequiredValidate = new OrTwoRequiredValidate(
et_or1, et_or2);
// 邮件验证
Validate emailValidate = new Validate(et_email);
EmailValidator emailValidator = new EmailValidator(this);
emailValidator.setDomainName("qq\\.com");// 设置邮件规则:只能是QQ邮箱
emailValidate.addValidator(emailValidator);
// 重复密码确认
ConfirmValidate confirmValidate = new ConfirmValidate(et_password1,
et_password2);
// 网址
Validate urlValidate = new Validate(et_url);
UrlValidator urlValidator = new UrlValidator(this);
urlValidate.addValidator(urlValidator);
// 4. Form表单addValidates这个Validate类即可
form.addValidates(notEmptyValidate);
form.addValidates(orTwoRequiredValidate);
form.addValidates(emailValidate);
form.addValidates(confirmValidate);
form.addValidates(urlValidate);
}
private void setListener() {
bt_ok.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// 5. 最后调用form.validate()验证即可,返回true表示验证通过。
boolean flag = form.validate();
if(flag){
Toast.makeText(MainActivity.this, "验证成功!", Toast.LENGTH_LONG).show();
}else{
Toast.makeText(MainActivity.this, "验证失败", Toast.LENGTH_LONG).show();
}
}
});
}
private void initView() {
et_notEmpty = (EditText) findViewById(R.id.et_notempty);
et_or1 = (EditText) findViewById(R.id.et_or1);
et_or2 = (EditText) findViewById(R.id.et_or2);
et_email = (EditText) findViewById(R.id.et_email);
et_password1 = (EditText) findViewById(R.id.et_password1);
et_password2 = (EditText) findViewById(R.id.et_password2);
et_url = (EditText) findViewById(R.id.et_url);
bt_ok = (Button) findViewById(R.id.bt_ok);
}
}
运行结果:
非空验证框架的依赖库下载:
点击下载
版权声明:本文为博主原创文章,未经博主允许不得转载。