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文件中为验证规则配置的默认的消息文本。resource为true时,表示使用来自resource boundle的消息;如果为false,表示直接在key属性中设置消息文本,默认值为true
7.与msg类似,指定复合消息中的参数。
Validator插件,当应用启动时,struts框架会加载validatorplugin 插件并调用它的init()方法,init()根据pathnames属性,加载相应的validator-rules.xml和validation.xml文件,把验证信息读入到内存中。
Validator采用ActionForm类的两个子类:org.apache.struts.validator.DynaValidatorForm和ValidatorForm及其子类DynaValidatorActionForm and ValidatorActionForm
ValidatorForm and ValidatorActionForm的区别
Struts配置文件的action元素的name属性 | Struts配置文件的action元素的path属性 |
validator.xml文件的元素的name属性 | validator.xml文件的元素的name属性 |
使用path的方式可以对应于不同的Action对FORM使用不同的验证规则
客户端进行验证:
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/