上一篇:
 Struts1.x系列教程(11):Validator验证框架高级应用
 
 
Struts2教程4:使用validate方法验证数据
Struts2教程5:使用Validation框架验证数据
 
  
 
下面列出了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  | ||
url  | allowallschemes、 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*表示当前属性的值。
 
   










