1

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}.

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

我可能遗漏了一些东西,但不幸的是无法弄清楚:(

请让我知道这件事。

问候,

4

1 回答 1

3

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

其次,您应该在其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, 更好。

于 2013-01-22T12:17:07.853 回答