struts2框架验证(xml方式):
* 首先要从页面中获取对应的标签name属性的值,在动作类action中声明同名的属性,提供get和set方法
* 创建一个xml格式验证文件:
* 命名方式:ActionClassName-validation.xml,ActionClassName指的是动作类action的名称
* <validators>标签:根元素
* field:指定action中要校验的属性,实际上就是页面中表单的name属性的值
* name:指定页面中表单的name属性的值
* field-validator:指定验证规则
* type:指定验证规则名称,
struts2框架提供的验证规则放在xwork-core-xxx.jar
下的comopensymphonyxwork2validatorvalidators
的default.xml配置文件。
* param:向底层的验证规则传递的参数
* message:验证失败时,提供的错误提示信息
* 如果要对指定方法进行验证的话:
* xml验证文件的命名方式:ActionClassName-ActionName-validation.xml,
ActionName对应的是struts.xml文件对应的action标签的name属性的值
1 <?xml version="1.0" encoding="UTF-8"?> 2 <!DOCTYPE validators PUBLIC 3 "-//Apache Struts//XWork Validator 1.0.3//EN" 4 "http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd"> 5 <validators> 6 <!-- 7 field:指定action中要校验的属性,实际上就是页面中表单的name属性的值 8 * name:指定页面中表单的name属性的值 9 --> 10 <field name="username"> 11 <!-- 12 field-validator:指定验证规则 13 * type:指定验证规则名称, 14 struts2框架提供的验证规则放在xwork-core-xxx.jar 15 下的comopensymphonyxwork2validatorvalidators 16 的default.xml配置文件 17 --> 18 <field-validator type="requiredstring"> 19 <!-- 20 param:向底层的验证规则传递的参数 21 --> 22 <param name="trim">true</param> 23 <!-- 24 message:验证失败时,提供的错误提示信息 25 --> 26 <message><![CDATA[用户名不能为空]]></message> 27 </field-validator> 28 </field> 29 <field name="pwd"> 30 <field-validator type="requiredstring"> 31 <param name="trim">true</param> 32 <message><![CDATA[密码不能为空]]></message> 33 </field-validator> 34 <field-validator type="regex"> 35 <param name="trim">true</param> 36 <param name="expression"><![CDATA[^[0-9a-zA-Z]{6,12}$]]></param> 37 <message><![CDATA[密码的长度必须在6至12之间!]]></message> 38 </field-validator> 39 </field> 40 </validators>
required: 确保某给定字段的值不是空值 null
requiredstring: 确保某给定字段的值既不是空值 null, 也不是空白.
·trim 参数. 默认为 true, 表示 struts 在验证该字段值之前先剔除前后空格.
stringlength: 验证一个非空的字段值是不是有足够的长度.
·minLength: 相关字段的最小长度. 若没有给出这个参数, 该字段将没有最小长度限制
·maxLength:相关字段的最大长度. 若没有给出这个参数, 该字段将没有最大长度限制
·trim: 在验证之前是否去除前后空格
int: 检查给定字段的值是否可以被转换为一个整数
·min: 相关字段的最小值. 若没给出这个参数, 该字段将没有最小值限制
·max: 相关字段的最大值. 若没给出这个参数, 该字段将没有最大值限制
date: 确保某给定日期字段的值落在一个给定的范围内
·max:相关字段的最大值. 若没给出这个参数, 该字段将没有最大值限制
·min:相关字段的最小值. 若没给出这个参数, 该字段将没有最小值限制
email: 检查给定 String 值是否是一个合法的 email
url: 检查给定 String 值是否是一个合法的 url
regex: 检查某给定字段的值是否与一个给定的正则表达式模式相匹配.
·expresssion*: 用来匹配的正则表达式
·caseSensitive: 是否区分字母的大小写. 默认为 true
·trim: 是否去除前后空格. 默认为 true
conversion(转换校验器,指定在类型转换失败时,提示的错误信息)
visitor(用于校验action中的复合属性,它指定一个校验文件用于校验复合属性中的属性)
expression(OGNL表达式校验器,expression参数指定ognl表达式,该逻辑表达式基于ValueStack进行求值,返回true时校验通过,否则不通过,该校验器不可用在字段校验器风格的配置中)
double(双精度浮点数校验器,要求field的双精度浮点数必须在指定范围内,min指定最小值,max指定最大值)