-
Android非空格式验证框架Validation的使用---第三方库学习笔记(四)
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); } }
- 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
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
- 100
- 101
- 102
- 103
- 104
- 105
- 106
- 107
- 108
- 109
- 110
- 111
- 112
运行结果:
非空验证框架的依赖库下载:
点击下载
2015
九月
16