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}.
无论密码输入的大小如何,都会显示消息。
我可能会遗漏一些东西,但遗憾的是无法解决这个问题:(
请让我知道这件事。
此致
答案 0 :(得分:3)
首先,intRange
用于验证... int
。在一个范围内。
其次,您应该在其argn
元素中命名验证器。
如果您想验证长度,请使用minLength
和maxLength
验证码:
<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
。