Struts 1.2 intRange验证失败

时间:2013-01-22 12:01:53

标签: java validation struts struts-1 struts-validation

intRange的密码验证失败。验证使用Validator框架完成。密码所需的验证工作正常并正确显示消息。但是intRange验证失败了。即使密码范围在4到8之间,也会显示验证消息。

以下是代码:

<field property="password" depends="required,intRange">

            <arg0 key="error.password.required" />
            <arg1 key="${var:min}" resource="false"/>
            <arg2 key="${var:max}" resource="false"/>
            <var>
                <var-name>min</var-name>
                <var-value>4</var-value>
            </var>
            <var>
                <var-name>max</var-name>
                <var-value>8</var-value>
            </var>

        </field>

此条目存在于资源属性文件中:

errors.range={0} is not in the range {1} through {2}.

无论密码输入的大小如何,都会显示消息。

我可能会遗漏一些东西,但遗憾的是无法解决这个问题:(

请让我知道这件事。

此致

1 个答案:

答案 0 :(得分:3)

首先,intRange用于验证... int。在一个范围内。

其次,您应该在其argn元素中命名验证器。

如果您想验证长度,请使用minLengthmaxLength验证码:

<field property="name" depends="required,minlength,maxlength">
    <arg0 key="error.password.required" />
    <arg1 name="minlength" key="${var:minlength}" resource="false"/>
    <arg2 name="maxlength" key="${var:minlength}" resource="false"/>
    <var><var-name>minlength</var-name><var-value>4</var-value></var>
    <var><var-name>maxlength</var-name><var-value>8</var-value></var>
</field>

如果您有任何特定的角色要求,也可以使用mask