Struts Validator验证框架详细讲解

开发 后端
本文将对Struts Validator验证框架进行详细讲解,它允许Struts应用灵活的配置验证规则,无需编程。

框架能够克服在ActionForm Bean中以编程方式进行数据验证的局限,它允许Struts应用灵活的配置验证规则,无需编程。

Struts Validator框架主要依赖两个JAR文件:jakarta-oro.jar和commons-validator,.jar

Struts 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类的验证方法:
isBlankOrNull: 验证字段是否为null,或者长度是否为0。
isByte:验证字段是否可以被转换为有小的byte类型的数据。
isCreditCard:验证字段是否为有效的信用卡号。
isDate:验证字段是否为有效的日期。
isDouble:验证字段是否可以被转换成有效的double类型的数据。
isEmail:验证字段是否为有效的Email地址。
isFloat:验证字段是否可以被转换为有效的float类型的数据。
isInRange:雁阵谷子断时候借于最小值和***值之间。
isInt:验证字段是否可以被转换为有效的int类型的数据。
isLong:验证字段是否可以被转换为有效的long类型的数据。
isShort:验证字段是否可以被转换为有效的short类型的数据。
matchTegexp:验证字段是否和正规表达式匹配。
maxLength:验证字段时候小于或等于***值。
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脚本。

【编辑推荐】

  1. 在Eclipse中开发struts应用程序
  2. 手把手教你在Eclipse中配置开发Struts
  3. Eclipse下开发struts完整解决乱码问题
  4. Struts相关背景介绍
  5. 使用Easy Struts for Eclipse开发Struts
责任编辑:张燕妮 来源: 百度空间
相关推荐

2009-09-28 15:24:38

Hibernate V

2009-06-09 10:44:45

思科BGP后门链路验证过程

2009-06-05 09:58:20

struts2验证用户注册

2009-06-25 15:37:12

Struts2教程Validation框

2011-03-30 09:03:57

struts2

2009-02-04 13:13:03

2009-06-05 10:09:13

struts配置

2009-09-28 15:14:45

Hibernate S

2023-06-26 08:42:18

Spring类型Resource

2009-09-29 11:03:07

SaveNewOrdeStruts框架

2009-12-25 17:39:01

WPF验证

2009-06-08 16:52:00

2009-06-05 10:17:34

struts vali验证

2010-04-29 10:15:01

Unix系统

2010-06-17 12:57:27

如何修复Grub

2023-12-01 08:01:33

GoValidator

2009-12-14 11:29:19

Linux查看命令

2009-09-25 17:03:29

Hibernate是什

2011-07-08 17:26:38

JSFStruts

2009-12-10 17:37:28

PHP Cookie登
点赞
收藏

51CTO技术栈公众号