validator 验证框架(学习笔记)

翟越
2023-12-01

vlidator框架的使用:配置文件属性说明. 相关架构的关系,及框架的具体实现.

[@more@]

Validator框架提供了基本的、通用的验证规则,对Struts应用以及非Struts应用都适用,org.apache.commons.validator.GenericValidator类提供了一组实现这些规则的静态方法。

目前 GenericValidator 提供了
isBlankOrNull(java.lang.String value) :
检查是否为空值,及去掉空白后长度是否大于零
isByte(java.lang.String value) :
是否可以转成 byte
isCreditCard(java.lang.String value) :
是否为正确的信用卡号
isDate(java.lang.String value, java.util.Locale locale) :
是否为有效的日期, 可依照区域别判断
isDate(java.lang.String value, java.lang.String datePattern, boolean strict) :
是否为有效的日期, 可输入日期格式, 是否需要完全符合
isDouble(java.lang.String value) :
是否可以转成 double
isEmail(java.lang.String value) :
是否为有效的 Email
isFloat(java.lang.String value) :
是否可以转成 float
isInRange(double value, double min, double max) :
输入数值是否在此区间 ( double )
isInRange(float value, float min, float max) :
输入数值是否在此区间 ( float )
isInRange(int value, int min, int max) :
输入数值是否在此区间 ( int )
isInRange(short value, short min, short max) :
输入数值是否在此区间 ( short )
isInt(java.lang.String value) :
是否可以转成 int
isLong(java.lang.String value) :
是否可以转成 long
isShort(java.lang.String value) :
是否可以转成 short
matchRegexp(java.lang.String value, java.lang.String regexp) :
是否符合输入的 Regular Expression
maxLength(java.lang.String value, int max) :
长度不得大于输入值
minLength(java.lang.String value, int min) :
长度不得小于输入值 我认为最好用的就是 matchRegexp 可以设定成各式各样的判断.

struts框架中定义了专门用于验证表单字段的org.apache.struts.validator.FieldChecks类,它提供了和GenericValidator类似的方法。validateMask()类似GenericValidator类的matchRegexp ()方法。

FieldChecks类实现了具体的验证逻辑。在对表单字段进行验证时,会调用FieldChecks类的相关方法,如验证失败,就会创建包含错误消息的ActionMessage对象,并把该对象添加到ActionMessages集合对象中。

1.元素包含

2.元素中包含子元素

3.>元素中包含两个子元素 元素有两个属性:language and country 用于支持I18N国际化。

中定义的元素代表全局常量,而在元素中定义的元素代表局部常量。

4.元素,的子元素,为表单配置验证规则,name属性指定了表单的名字.

5.元素,的子元素。用于配置验证规则。

6.子元素,指定验证规则对应的消息文本,该消息文本将替代在validator-rules.xml文件中为验证规则配置的默认的消息文本。resourcetrue时,表示使用来自resource boundle的消息;如果为false,表示直接在key属性中设置消息文本,默认值为true

7.msg类似,指定复合消息中的参数。

Validator插件,当应用启动时,struts框架会加载validatorplugin 插件并调用它的init()方法,init()根据pathnames属性,加载相应的validator-rules.xmlvalidation.xml文件,把验证信息读入到内存中。

Validator采用ActionForm类的两个子类:org.apache.struts.validator.DynaValidatorFormValidatorForm及其子类DynaValidatorActionForm and ValidatorActionForm

ValidatorForm and ValidatorActionForm的区别

Struts配置文件的action元素的name属性

Struts配置文件的action元素的path属性

validator.xml文件的元素的name属性

validator.xml文件的元素的name属性

使用path的方式可以对应于不同的ActionFORM使用不同的验证规则

客户端进行验证:

Validator框架默认在web服务器进行验证。可以使用标签在JSP网页中生成用于客户端验证的JavaScript脚本。

html:javascript formName="loginForm" dynamicJavascript="true" staticJavascript="false"/>

国际化

Validator框架提供了对I18N的支持,无论是客户端验证,还是服务端验证,Validator框架都从应用的Resource Bundle中获得错误消息。Validator元素包含languange and country属性。这两个属性可以设置Locale。如果对于不同的Local需要采用不同的验证规则,那么应该在validator.xml文件中针对每个Local创建独立的元素。

…….

…….

Validate框架步骤:

1. 创建Form

2. sturts配置文件中配置元素。

3. Validator框架使用的消息文本添加到应用的Resource Bundle中。

4. validation.xml文件中为表单配置验证规则。

5. struts配置文件中配置ValidatorPlugIn插件

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/118026/viewspace-804665/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/118026/viewspace-804665/

 类似资料: