5.表达式校验器
表达式校验器的名字是expression,它是一个非字段校验器,不可在字段校验器的配置风格中使用。该表达式校验器要求OGNL表达式返回true,当返回true时,该校验通过;否则校验没有通过。
该校验器可以接受如下一个参数。
Ø expression:该参数指定一个逻辑表达式,该逻辑表达式基于ValueStack进行求值,最后返回一个Boolean值;当返回true时,校验通过;否则校验失败。
该校验器的配置示例如下:
- <validators>
- <!-- 使用表达式校验器 -->
- <validator type="expression">
- <!-- 指定校验表达式 -->
- <param name="expression"> .... </param>
- <!-- 指定校验失败的提示信息 -->
- <message>Failed to meet Ognl Expression .... </message>
- </validator>
- </validators>
6.字段表达式校验器
字段表达式校验器的名字是fieldexpression,它要求指定字段满足一个逻辑表达式。该校验器可以接受如下两个参数。
Ø fieldName:该参数指定校验的Action属性名,如果采用字段校验器风格,则无须指定该参数。
Ø expression:该参数指定一个逻辑表达式,该逻辑表达式基于ValueStack进行求值,最后返回一个Boolean值;当返回true时,校验通过;否则校验失败。
采用非字段校验器配置风格时,该校验器的配置示例如下:
- <validators>
- <!-- 使用非字段校验器风格来配置字段表达式校验器 -->
- <validator type="fieldexpression">
- <!-- 指定需要校验的字段名:pass -->
- <param name="fieldName">pass</param>
- <!-- 指定逻辑表达式 -->
- <param name=" expression "><![CDATA[(pass == rpass)]]</param>
- <!-- 指定校验失败的提示信息 -->
- <message>密码必须和确认密码相等</message>
- </validator>
- ..
- <validators>
采用字段校验器配置风格时,该校验器的配置示例如下:
- <validators>
- <!-- 使用字段校验器风格来配置字段表达式校验器,校验pass属性 -->
- <field name="pass">
- <field-validator type="fieldexpression">
- <!-- 指定逻辑表达式 -->
- <param name=" expression "><![CDATA[(pass == rpass)]]</param>
- <!-- 指定校验失败的提示信息 -->
- <message>密码必须和确认密码相等</message>
- </ field-validator>
- ...
- </field>
- ...
- <validators>
7.邮件地址校验器
邮件地址校验器的名称是email,它要求被检查字段的字符如果非空,则必须是合法的邮件地址。不过这个校验器其实就是基于正则表达式进行校验的,系统的邮件地址正则表达式为:
\\b(^[_A-Za-z0-9-](\\.[_A-Za-z0-9-])*@([A-Za-z0-9-])+((\\.com)|(\\.net)|(\\.org)|(\\.info)|(\\.edu)|(\\.mil)|(\\.gov)|(\\.biz)|(\\.ws)|(\\.us)|(\\.tv)|(\\.cc)|(\\.aero)|(\\.arpa)|(\\.coop)|(\\.int)|(\\.jobs)|(\\.museum)|(\\.name)|(\\.pro)|(\\.travel)|(\\.nato)|(\\..{2,3})|(\\..{2,3}\\..{2,3}))$)\\b
注意:
随着技术的不断发展,有可能上面的正则表达式不能完全覆盖实际的电子邮件地址。此时,建议开发者使用正则表达式校验器来完成邮件校验。
该校验器可以接受如下一个参数。
Ø fieldName:该参数指定校验的Action属性名,如果采用字段校验器风格,则无须指定该参数。
采用非字段校验器配置风格时,该校验器的配置示例如下:
- <validators>
- <!-- 使用非字段校验器风格来配置邮件校验器 -->
- <validator type="email">
- <!-- 指定需要校验的字段名:email -->
- <param name="fieldName">email</param>
- <!-- 指定校验失败的提示信息 -->
- <message>你的电子邮件地址必须是一个有效的电邮地址</message>
- </validator>
- ..
- <validators>
采用字段校验器配置风格时,该校验器的配置示例如下:
- <validators>
- <!-- 使用字段校验器风格来配置邮件校验器,校验email属性 -->
- <field name="email">
- <field-validator type="email">
- <!-- 指定校验失败的提示信息 -->
- <message>你的电子邮件地址必须是一个有效的电邮地址</message>
- </ field-validator>
- ...
- </field>
- ...
- <validators>
8.网址校验器
网址校验器的名称是url,它要求被检查字段的字符如果非空,则必须是合法的URL地址。不过这个校验器其实就是基于正则表达式进行校验的,因此,有可能随着技术的发展,这个校验器不能完全覆盖所有的网址。此时,建议开发者使用正则表达式校验器进行网址校验。
该校验器可以接受如下一个参数。
Ø fieldName:该参数指定校验的Action属性名,如果采用字段校验器风格,则无须指定该参数。
采用非字段校验器配置风格时,该校验器的配置示例如下:
- <validators>
- <!-- 使用非字段校验器风格来配置网址校验器 -->
- <validator type="url">
- <!-- 指定需要校验的字段名: url -->
- <param name="fieldName">url</param>
- <!-- 指定校验失败的提示信息 -->
- <message>你的主页地址必须是一个有效的网址</message>
- </validator>
- ..
- <validators>
采用字段校验器配置风格时,该校验器的配置示例如下:
- <validators>
- <!-- 使用字段校验器风格来配置网址校验器,校验url属性 -->
- <field name="url">
- <field-validator type="url">
- <!-- 指定校验失败的提示信息 -->
- <message>你的主页地址必须是一个有效的网址</message>
- </ field-validator>
- ...
- </field>
- ...
- <validators>