2017-08-22 50 views
0

我正在使用struts驗證器進行jsp驗證,我想知道如何根據我的jsp的另一個字段的值來定義字段驗證。Struts驗證器的字段有條件的另一個變量在jsp上

我有這樣一個元素的列表:

<s:select name="varName" label="labelVariable" list="listeVariable" listValue="varValue" listKey="varKey"/> 

而且像這樣的一個文本框:

<s:textfield name="varNameText" label="labelText"/> 

在我驗證我想驗證字段大小「varNameText」取決於列表中選定的值。

如果我的列表中有值1/2/3,我想驗證:

  • 如果list = 1個varNameText lenght應該是10
  • 如果list = 1個varNameText lenght應該的! 12

我該如何做到我的XML文件。

感謝您的答案。

回答

0

您可以使用fieldExpression validator

驗證使用OGNL表達式的字段。

您可以找到fieldExpression驗證程序here的示例。

您可以創建一個表達式,該表達式使用填充到動作bean的任意數量的字段,然後對valueStack運行驗證。

例如

<field-validator type="fieldexpression"> 
    <param name="expression"><![CDATA[varName==1?(varNameText.length()==10):(varNameText.length()==12)]]></param> 
    <message>varNameText length should be ${varName==1?10:12}</message> 
</field-validator> 
相關問題