2013-01-22 76 views
1

intRange的密碼驗證失敗。驗證使用Validator框架完成。所需的密碼驗證工作正常,並正確顯示消息。但intRange驗證失敗。即使密碼範圍在4到8之間,驗證消息也會顯示出來。Struts 1.2 intRange驗證失敗

下面是代碼:

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

不論密碼輸入的大小的,是越來越顯示的消息。

我可能失去了一些東西,但遺憾的是沒能弄明白:(

請讓我知道這件事。

問候,

回答

3

首先,intRange是驗證中... int s。在一個範圍內

其次,您應該在其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,更好,如果你有什麼具體的品格要求了。