下面列出了Validator
框架的预定义验证(Struts
的版本号为1.2.9
)。
Validator
|
变量
|
引发条件
|
required
|
字段只有空格
|
|
validwhen
|
test
|
test
条件失败(详见下一节)
|
minlength
|
minlength
|
字段的字符数小于minlength
|
maxlength
|
maxlength
|
字段的字符数大于maxlength
|
mask
|
mask
|
字段值不匹配mask
所指的个正则表达式
|
byte
、short
、integer
、long
、float
、double
|
字段值无法转换为这些数据类型
|
|
date
|
datePattern
或
datePatternStrict
|
字值值不能按着指定的格式转换为日期类型
|
intRange
、
floatRange
、
doubleRange
|
min
、max
|
字段值不在指定的范围内
|
creditCard
|
字段值不是一个信誉卡号
|
|
email
|
字段值不是一个合法的email
|
|
url
|
allowallschemes
、
allow2slashes
、
nofragments
、
schemes
|
字段不是一个URL
|
关于Validator
框架标准验证的详细信息,读者可以访问如下的URL
:
下面来举一个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 >
< 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 >
< 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*
表示当前属性的值。
本文转自 androidguy 51CTO博客,原文链接:http://blog.51cto.com/androidguy/215185,如需转载请自行联系原作者