0%

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配置不变。