Welcome 微信登录

首页 / 软件开发 / JAVA / Struts1.x系列教程(12):Validator验证框架的内置标准验证

Struts1.x系列教程(12):Validator验证框架的内置标准验证2011-01-10 BlogJava 银河使者下面列出了Validator框架的预定义验证(Struts的版本号为1.2.9)。

Validator变量引发条件
required 字段只有空格
validwhentesttest条件失败(详见下一节)
minlengthminlength字段的字符数小于minlength
maxlengthmaxlength字段的字符数大于maxlength
maskmask字段值不匹配mask所指的个正则表达式
byte、short、integer、long、float、double 字段值无法转换为这些数据类型
datedatePattern 或datePatternStrict字值值不能按着指定的格式转换为日期类型
intRange、floatRange、doubleRangemin、max字段值不在指定的范围内
creditCard 字段值不是一个信誉卡号
email 字段值不是一个合法的email
urlallowallschemes、

allow2slashes、

nofragments、

schemes
字段不是一个URL
关于Validator框架标准验证的详细信息,读者可以访问如下的URL:

http://struts.apache.org/1.2.9/userGuide/dev_validator.html

下面来举一个validwhen验证的例子。

validwhen可以验证当前属性和其他属性的关系,如在验证密码时,要保证两次输入的密码一致,验证代码如下:

<field property="password1" depends="validwhen">
<msg name="validwhen" key="error.password1.confirmation" />
<var>
<var-name>test</var-name>
<var-value>
(password1!= null) and (*this* == password)
</var-value>
</var>
</field>
使用validwhen也可以验证嵌套和索引属性,如下面的代码所示:

<field property="field1" depends="validwhen">
<msg name="validwhen" key="error.field.message" />
<var>
<var-name>test</var-name>
<var-value>
(*this* == field2.name) and (*this* != field3[1])
</var-value>
</var>
</field>
其中*this*表示当前属性的值。