Struts2内置校验器
2012-02-22 11:05
399 查看
struts2提供了大量的内置验证器,分别介绍如下
1.必填验证器
RequiredFieldvalidator验证器检查指定的字段是否为null。该验证器可以接受一个参数:fieldName,指定要验证的字段名,如果使用<field>元素来声明该字段验证器,则不需要这个参数。
采用非字段校验器的配置如下:
采用字段验证器配置如下:
2必填字符串验证器:
3.字符串长度验证器:
StringLengthFieldValidator验证器检查一个字符串字段值是否子啊一定的长度范围内。该验证器有四个参数:
fieldname:要验证的字段名
maxLength:指定字符值的最大长度
minLength:指定字段值的最小长度
trim指定是否执行String 的trim()方法去掉首尾空格
4.整数验证器
IntRangeFieldValidator验证器检查指定的整数是否在一定的范围内。
有三个参数:
fieldName:要验证字段名
min:整数最小值
max:指定整数的最大值
5.双精度浮点数验证器
DoubleRangeFieldValidator验证器检查浮点数是否在指定的范围之内
fieldName:指定要验证的字段名
minInclusive:指定浮点数的最小值
maxinclusive:指定浮点数的最大值
6.日期验证器
DateRangeFieldValidator验证日期是否在指定范围之内
7.表达式验证器
8.字段表示式验证器
9.正则表达式验证器
10.邮件地址验证器
11.网址验证器
12.visitor验证器
我们编写的验证器,基本上针对特定的user对象的,但是对于model层实体类,在很多地方都要实例化他们的对象,那样的话我们就会在很多地方编写验证。
VistorFieldValidator验证器介绍:
作用,提高代码重用性
VistorFieldValidator可以处理简单的对象属性,也可以处理对象集合或者对象数组
VistorFieldValidator验证器接受三个参数:
fieldname:指定要验证的字段名
context:指定验证发生的上下文,是可选的
appendPrefix:Boolean型,指定要添加到字段上的前缀。参数可选,默认值为true
13.转换验证器
1.必填验证器
RequiredFieldvalidator验证器检查指定的字段是否为null。该验证器可以接受一个参数:fieldName,指定要验证的字段名,如果使用<field>元素来声明该字段验证器,则不需要这个参数。
采用非字段校验器的配置如下:
<!-- 使用type属性指定使用required验证器 --> <validator type="required"> <!-- 通过fieldName参数指定需要验证的字段 --> <param name="fieldName">user.username</param> <message>请输入用户名!</message> </validator>
采用字段验证器配置如下:
<!-- 采用字段验证器风格时 --> <!-- 通过name来指定要验证的字段名 --> <field name="user.username"> <!-- 使用type属性指定使用required验证器 --> <field-validator type="required"> <message>请输入用户名!</message> </field-validator> </field>
<!-- 采用字段验证器风格时 --> <!-- 通过name来指定要验证的字段名 --> <field name="user.username"> <!-- 使用type属性指定使用required验证器 --> <field-validator type="required"> <message>请输入用户名!</message> </field-validator> </field>
2必填字符串验证器:
<!-- 必填字符串验证器 --> <!-- 其中trim是指定在执行验证的时候,调用String的trim()方法删除首尾的空格 --> <validator type="requiredstring"> <param name="fieldName">user.username</param> <param name="trim">true</param> <message>请输入用户名!</message> </validator> <!-- 采用字段校验器配置风格时 --> <field name="user.username"> <field-validator type="requiredstring"> <param name="trim">true</param> <message>请输入用户名!</message> </field-validator> </field>
3.字符串长度验证器:
StringLengthFieldValidator验证器检查一个字符串字段值是否子啊一定的长度范围内。该验证器有四个参数:
fieldname:要验证的字段名
maxLength:指定字符值的最大长度
minLength:指定字段值的最小长度
trim指定是否执行String 的trim()方法去掉首尾空格
<!-- 字符串长度验证器 --> <!-- 采用非字段校验器配置风格时 --> <validator type="stringlength"> <param name="fieldName">user.username</param> <param name="minLength">10</param> <param name="maxLength">18</param> <param name="trim">true</param> <message>你输入的长度必须在${minLength}和${maxLength}之间</message> </validator> <!-- 采用字段校验器 --> <field name="user.username"> <field-validator type="stringlength"> <param name="minLength">10</param> <param name="maxLength">18</param> <param name="trim">true</param> <message>你输入的用户名长度必须在${minLength}和${maxLength}之间</message> </field-validator> </field>
4.整数验证器
IntRangeFieldValidator验证器检查指定的整数是否在一定的范围内。
有三个参数:
fieldName:要验证字段名
min:整数最小值
max:指定整数的最大值
<!-- 整数验证器 --> <!-- 采用非字段验证器 --> <validator type="int"> <param name="fieldName">user.age</param> <param name="min">1</param> <param name="max">10</param> <message>你输入的年龄在${min}到${max}之间</message> </validator> <!-- 采用字段校验器 --> <field name="user.age"> <field-validator type="int"> <param name="min">1</param> <param name="max">10</param> <message>你输入的长度必须在${min}和${max}之间</message> </field-validator> </field>
5.双精度浮点数验证器
DoubleRangeFieldValidator验证器检查浮点数是否在指定的范围之内
fieldName:指定要验证的字段名
minInclusive:指定浮点数的最小值
maxinclusive:指定浮点数的最大值
<!-- 双精度浮点数验证器 --> <validator type="double"> <param name="fieldName">price</param> <param name="minInclusive">10.1</param> <param name="maxInclusive">111.0</param> <message>商品的价格必须在${minInclusive}到${maxInclusive}之间</message> </validator> <!-- 字段验证器 --> <field name="price"> <field-validator type="double"> <param name="minExclusive">10.123</param> <param name="maxExclusive">99.123</param> <message>你输入的长度必须在${minExclusive}到${maxExclusive}之间</message> </field-validator> </field>
6.日期验证器
DateRangeFieldValidator验证日期是否在指定范围之内
<!-- 日期验证器 --> <!-- 使用非字段验证器的配置 --> <validator type="date"> <param name="fieldName">user.birth</param> <param name="min">01/01/1990</param> <param name="max">01/01/2020</param> <message>出生日期必须在1990年1月1日到什么之间</message> </validator> <!-- 采用字段验证器 --> <field name="user.birth"> <field-validator type="date"> <param name="min">01/01/1990</param> <param name="max">01/01/2050</param> <message>你输入的出生日期必须在1990年1月1日到2050年1月1日之间</message> </field-validator> </field>
7.表达式验证器
<!-- 表达式验证器 --> <!--Expression Validator是一个普通验证码,它基于OGNL表示进行验证。该验证器可以接受一个参数:expression 这个参数指定要计算的OGNL表达式,该表达式是基于栈进行求值,表达式的结果必须是Boolean,不支持<field>标签 --> <validator type="expression"> <param name="expression">user.password==verifyPassword</param> <message>输入密码不一致</message> </validator>
8.字段表示式验证器
<validator type="fieldexpression"> <param name="fieldName">verifyPassword</param> <param name="expression">verifyPassword==user.password</param> <message>再次输入的密码不一致!</message> </validator> <!-- 使用字段校验器风格来配置 --> <field name="verifyPassword"> <field-validator type="fieldexpression"> <param name="expression">verifyPassword==user.userpass</param> <message>输入密码不一致 </message> </field-validator> </field>
9.正则表达式验证器
<!-- 正则表达式验证器 --> <!-- 采用非字段验证器 --> <validator type="regex"> <param name="fieldName">user.zipcode</param> <param name="expression"><![CDATA[[0-9\d{5}(?!\d)]]]></param> <message>邮政编码无效</message> </validator> <!-- 使用字段校验器配置风格来配置正则表达式 --> <field name="user.zipcode"> <field-validator type="regex"> <param name="expression"><![CDATA[[0-9\d{5}(?!\d)]]]></param> <message>邮政编码无效</message> </field-validator> </field>
10.邮件地址验证器
<!-- 邮件地址验证器 --> <!-- 使用非字段校验器配置风格来配置邮件校验器 --> <validator type="email"> <param name="fieldName">user.email</param> <message>邮箱地址无效</message> </validator> <field name="user.email"> <field-validator type="email"> <message>邮箱地址无效</message> </field-validator> </field>
11.网址验证器
<!-- 网址验证器 --> <validator type="url"> <param name="fieldName">homePage</param> <message>输入网址不合法</message> </validator> <field name="homePage"> <field-validator type="url"> <message>输入网址不合法</message> </field-validator> </field>
12.visitor验证器
我们编写的验证器,基本上针对特定的user对象的,但是对于model层实体类,在很多地方都要实例化他们的对象,那样的话我们就会在很多地方编写验证。
VistorFieldValidator验证器介绍:
作用,提高代码重用性
VistorFieldValidator可以处理简单的对象属性,也可以处理对象集合或者对象数组
VistorFieldValidator验证器接受三个参数:
fieldname:指定要验证的字段名
context:指定验证发生的上下文,是可选的
appendPrefix:Boolean型,指定要添加到字段上的前缀。参数可选,默认值为true
13.转换验证器
<!-- 转换验证器 --> <validator type="conversion"> <param name="fieldName">intField</param> <param name="repopulateField">true</param> <message>不能转换成Integer类型!</message> </validator> <field name="intField"> <field-validator type="conversion"> <param name="repopulateField">true</param> <message>不能转换成Integer类型</message> </field-validator> </field>
相关文章推荐
- struts2学习笔记(九)struts2内置校验
- Struts2方便实用的内置校验器
- Struts2的内置校验器
- struts2中内置校验器不起作用可能原因
- struts2内置校验器、ajax、json
- Struts2内置校验器——完整实例代码
- struts2校验框架,内置参数信息查看
- Struts2基于配置校验的内置类型及使用实例
- Struts2内置校验器
- struts2配置内置校验器
- Struts2内置校验器
- struts2-validate内置校验器失效的解决方法
- Struts2校验的两种实现方式(使用内置校验和手动编写)
- Struts2拦截器之使用拦截器模拟实现登陆校验
- 关于UtilTimerStack类的使用--XWork2、Struts2内置性能诊断类 --只为学习
- 深入理解Struts2----数据校验
- Struts2学习总结(3)--值栈,Ognl表达式,Struts标签库,国际化,数据校验,拦截器
- Struts2输入校验
- Struts2 Field校验框架message元素key的使用方式
- hibernate内置校验器 之 required和requireding