Struts2 Action校验数据 使用配置文件

除了在Action中实现validate()方法外,还可以添加配置文件来实现数据校验。Action必须继承自 ActionSupport.
假设Action名为LoginAction,在Action所在包下新建LoginAction-validation.xml,校验规则写在这里。


<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE validators PUBLIC
        "-//Apache Struts//XWork Validator 1.0.2//EN"
        "http://struts.apache.org/dtds/xwork-validator-1.0.2.dtd">
        
<validators>
    <field name="username">
        <field-validator type="requiredstring">
            <message>用户名不能为空</message>
        </field-validator> 
        <field-validator type="stringlength">
        	<param name="minLength">4</param>
        	<param name="maxLength">6</param>
        	<message>用户名长度必须是4-6位</message>
        </field-validator>
    </field>
    <field name="password">
        <field-validator type="requiredstring">
            <message>密码不能为空</message>
        </field-validator>
    </field>
</validators>

field标签 name属性指定待验证的属性,field-validator的type属性指定校验器的类型,其值 可以为:
int 整数;
double 实数;
date 日期;
expression 两数的关系比较;
email Email地址;
url
visitor
conversion
regex 正则表达式验证;
required 是否为空;
requiredstring 必须字符;
stringlength 输入字符长度限制
参考com.opensymphony.xwork2.validator.validators包下的default.xml,在xwork-core-2.X.X.jar内。
各个验证器的参数可以参考通过default.xml找到对应的类,查看成员变量的setter和getter方法。
上面的配置文件,要求用户名和密码都不为空,且用户名长度在4-6位间。
现在可以删除Action中的validate方法,测试一下,struts.xml配置不变。

© 2012, 冰冻鱼. 请尊重作者劳动成果,复制转载保留本站链接! 应用开发笔记