Android Validation

什么是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用的自定义的校验器】
[plain]  view plain  copy
  1.               Form form = new Form();  
  2. Validate phonevalidate = new Validate(zhanghao1);  
  3. PhoneValidator phoneRex = new PhoneValidator(this);  
  4.   
  5.   
  6. Validate emailValidate = new Validate(zhanghao2);  
  7. MyEmailValidator emailvalidator = new MyEmailValidator(this);  
  8. emailvalidator.setDomainName("gmail.com");// 可写可不写  
  9.   
  10.   
  11. phonevalidate.addValidator(phoneRex);  
  12. emailValidate.addValidator(emailvalidator);  
  13.   
  14.   
  15. form.addValidates(emailValidate);  
  16. form.addValidates(phonevalidate);</span>  

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



源码分析:form.validate()方法
[java]  view plain  copy
  1.         /** 
  2.  * Called to validate our form. 
  3.         * If an error is found, it will be displayed in the corresponding field. 
  4.  * @return 
  5.  *      boolean :   true if the form is valid 
  6.         *                  false if the form is invalid 
  7.  */  
  8. public boolean validate(){  
  9.     boolean result = true;  
  10.     Iterator<AbstractValidate> it = this._validates.iterator();  
  11.     while(it.hasNext()){  
  12.         AbstractValidate validator = it.next();  
  13.         TextView field = validator.getSource();  
  14.         field.setError(null);  
  15.         if(!validator.isValid(field.getText().toString())){  
  16.             result = false;  
  17.             field.setError(validator.getMessages());  
  18.         }  
  19.     }  
  20.     return result;  
  21. }  

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

项目源代码地址:http://download.csdn.net/detail/itjavawfc/8948019
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android 中处理 "javax.net.ssl.SSLHandshakeException: Chain validation failed" 错误,可以尝试以下几个步骤: 1. 确认证书是否已过期或被撤销,并使用正确的证书。 2. 确保证书链完整且证书签名受信任。 3. 确认服务器已正确配置 SSL/TLS。 4. 更新本地证书存储,添加缺少的根证书或中间证书。 如果以上步骤都无法解决问题,你可以尝试禁用 SSL 证书验证,但这并不是一个安全的解决方案,因为它可能会导致中间人攻击。 在 Android 中禁用 SSL 证书验证需要使用自定义 TrustManager。可以创建一个自定义 TrustManager 类,重写它的 checkServerTrusted() 方法,并在该方法中始终返回正确的结果。然后创建一个 SSLContext 对象,并在其中设置自定义 TrustManager,最后将其用于创建 HttpsURLConnection 对象或 OkHttpClient。示例如下: ``` TrustManager[] trustAllCerts = new TrustManager[] { new X509TrustManager() { public void checkClientTrusted(X509Certificate[] chain, String authType) {} public void checkServerTrusted(X509Certificate[] chain, String authType) {} public X509Certificate[] getAcceptedIssuers() { return new X509Certificate[0]; } } }; SSLContext sslContext = SSLContext.getInstance("TLS"); sslContext.init(null, trustAllCerts, new SecureRandom()); HttpsURLConnection.setDefaultSSLSocketFactory(sslContext.getSocketFactory()); OkHttpClient client = new OkHttpClient.Builder() .sslSocketFactory(sslContext.getSocketFactory(), (X509TrustManager)trustAllCerts[0]) .hostnameVerifier((hostname, session) -> true) .build(); ``` 请注意,这种方法会跳过证书验证,存在安全风险。因此,建议仅在测试或开发环境中使用。在生产环境中,应使用有效的 SSL 证书并正确配置服务器。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值