Android Validation

来源:互联网 发布:制作ubuntu u盘启动盘 编辑:程序博客网 时间:2024/06/14 01:25

什么是Android Validation:

      一个简单的函数库,使用注释语法来验证用户输入的表单信息。你仅需编写几行代码就可以实现一些表单验证功能,且显示的所有视图都将反馈给用户。它还带有一个可扩展的在线验证选项,这样你就可以为定制视图编写自己的验证信息及适配器了。


基本功能简介:【框架系统自带】

Required (必填)                 NotBlank (非空数据)              Digits (仅数字)                              Email (电子邮件)        

2选一必填项验证               重复密码验证                           HTTPURL (Http URL)                 手机号码格式验证等


 基本用法:【后续用简单列子讲解,只需要四行代码简单验证】
1.先创建个表单Form类用来装控件
2.然后创建Validate类,将被验证EditText控件传入
3.将这个Validate类addValidator加入非空类型NotEmptyVerifior
4.Form表单addValidates这个Validate类即可
5.最后调用form.validate()验证即可,返回true表示验证通过。 


效果图:
               



使用的地方:需要用表单的地方,且需要规定表单的相关格式
优势:只要你会正则表达式,可以极易扩展你自己的校验器。该框架的极大优势也在于其扩展性!
实例讲解:【如上图,账号1用的系统自带的号码校验器,帐号2用的自定义的校验器】
                Form form = new Form();Validate phonevalidate = new Validate(zhanghao1);PhoneValidator phoneRex = new PhoneValidator(this);Validate emailValidate = new Validate(zhanghao2);MyEmailValidator emailvalidator = new MyEmailValidator(this);emailvalidator.setDomainName("gmail.com");// 可写可不写phonevalidate.addValidator(phoneRex);emailValidate.addValidator(emailvalidator);form.addValidates(emailValidate);form.addValidates(phonevalidate);</span>

最后在校验的时候使用:boolean is = form.validate();    【一个校验器就是这么简单的四步骤即可】



源码分析:form.validate()方法
         /** * Called to validate our form.         * If an error is found, it will be displayed in the corresponding field. * @return * boolean :   true if the form is valid         *                  false if the form is invalid */public boolean validate(){boolean result = true;Iterator<AbstractValidate> it = this._validates.iterator();while(it.hasNext()){AbstractValidate validator = it.next();TextView field = validator.getSource();field.setError(null);if(!validator.isValid(field.getText().toString())){result = false;field.setError(validator.getMessages());}}return result;}

遍历所有的校验器,看是否校验通过,不通过给提示。【可修改源码,对提示给予修改,展示更加友好效果】

项目源代码地址:http://download.csdn.net/detail/itjavawfc/8948019




0 0
原创粉丝点击