Struts验证——Validator验证框架

编程技术  /  houtizong 发布于 3年前   37

Validator验证框架:
Validator框架能够克服在ActionForm Bean中以编程方式进行数据验证的局限,它允许Struts应用灵活的配置验证规则,无需编程。
Validator框架主要依赖两个JAR文件:jakarta-oro.jar和commons-validator,.jar
Validator框架采用两个基于XML的配置文件来配置验证规则。这两个文件为validator-rules.xml和validation.xml。


Validator-rules.xml文件保换了一组通用的验证规则,对所有的Struts应用都适用。一般情况下,没有必要修改该文件,除非需要修改或扩展默认的规则。

元素有7个属性:

  • Name属性:name属性指定验证规则的逻辑名,这个名字必须是唯一的。
  • Classname和method属性:classname和method属性分别指定实现验证规则逻辑的类和方法。
  • MethodParams:属性用来指定验证方法包含的参数,多个参数之间以逗号隔开。
  • Msg属性:msg属性指定来自于Resource Bundle中的消息key。当验证失败时,Validator框架将根据这个消息key到resource Bundle中查找匹配的消息文本。
  • Depends属性:depends属性指定在调用当前验证规则之前必须先调用的其他验证规则。
  • Validator框架提供了基本的,通用的验证规则,对struts应用以及非Struts应用都适用。Org.apache.commons.validator.GenericValidator类提供了一组实现这些规则的静态方法。

 GenericValidator类的验证方法:

  1. isBlankOrNull: 验证字段是否为null,或者长度是否为0。
  2. isByte:验证字段是否可以被转换为有小的byte类型的数据。
  3. isCreditCard:验证字段是否为有效的信用卡号。
  4. isDate:验证字段是否为有效的日期。
  5. isDouble:验证字段是否可以被转换成有效的double类型的数据。
  6. isEmail:验证字段是否为有效的Email地址。
  7. isFloat:验证字段是否可以被转换为有效的float类型的数据。
  8. isInRange:雁阵谷子断时候借于最小值和最大值之间。
  9. isInt:验证字段是否可以被转换为有效的int类型的数据。
  10. isLong:验证字段是否可以被转换为有效的long类型的数据。
  11. isShort:验证字段是否可以被转换为有效的short类型的数据。
  12. matchTegexp:验证字段是否和正规表达式匹配。
  13. maxLength:验证字段时候小于或等于最大值。
  14. minLength:验证字段时候大于或等于最小值。


在Struts框架中定义了专门用于验证表单字段的org.apache.struts.validator.FieldChecks类,它提供了和GenericValidator类似的方法。以下是FieldChecks类包含的验证方法:
validateByte
validateCreditCard
validateDate
validateDouble
validateEmail
validateFloat
validateInteger
validateLong
validateMask
validateMinLength
validateMaxLength
validateRange
validateRequired
validateShort



validation.xml文件:
这个文件是针对于某个具体Struts应用的,需要开发人员来创建,它可以为应用中的ActionForm配置所需的验证规则,取代在ActionForm类中以编程的方式来实现验证逻辑。

Validator框架不能用于验证标准的org.apache.struts.action.ActionForm类。如果要使用Validator框架应该采用ActionForm类的两个子类:DynavalidatorForm和ValidatorForm。

Validator框架可以进行浏览器客户端验证。如果要进行客户端验证,需要用到Struts的
标签,它能够在JSP网页中生成用于客户端验证的JavaScript教本。

 

请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!

留言需要登陆哦

技术博客集 - 网站简介:
前后端技术:
后端基于Hyperf2.1框架开发,前端使用Bootstrap可视化布局系统生成

网站主要作用:
1.编程技术分享及讨论交流,内置聊天系统;
2.测试交流框架问题,比如:Hyperf、Laravel、TP、beego;
3.本站数据是基于大数据采集等爬虫技术为基础助力分享知识,如有侵权请发邮件到站长邮箱,站长会尽快处理;
4.站长邮箱:[email protected];

      订阅博客周刊 去订阅

文章归档

文章标签

友情链接

Auther ·HouTiZong
侯体宗的博客
© 2020 zongscan.com
版权所有ICP证 : 粤ICP备20027696号
PHP交流群 也可以扫右边的二维码
侯体宗的博客