Struts1.x系列教程(12):Validator验证框架的内置标准验证

来源:互联网 发布:mysql 清空 tmp目录 编辑:程序博客网 时间:2024/05/18 01:10

转自:

http:/www.blogjava.net/nokiaguy/archive/2009/01/archive/2009/01/archive/2009/01/archive/2009/01/archive/2009/01/archive/2009/01/archive/2009/nokiaguy/archive/2009/nokiaguy/archive/2009/02/archive/2009/nokiaguy/archive/2009/nokiaguy/archive/2009/02/14/254688.html

下面列出了Validator框架的预定义验证(Struts的版本号为1.2.9)。

Validator

变量

引发条件

required

 

字段只有空格

validwhen

test

test条件失败(详见下一节)

minlength

minlength

字段的字符数小于minlength

maxlength

maxlength

字段的字符数大于maxlength

mask

mask

字段值不匹配mask所指的个正则表达式

byteshortintegerlongfloatdouble

 

字段值无法转换为这些数据类型

date

datePattern 

datePatternStrict

字值值不能按着指定的格式转换为日期类型

intRangefloatRangedoubleRange

minmax

字段值不在指定的范围内

creditCard

 

字段值不是一个信誉卡号

email

 

字段值不是一个合法的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>

1 0