Struts的字符串验证器有条件地对jsp上的另一个变量

问题描述 投票:0回答:1

我正在使用struts验证器进行jsp验证,我想知道如何根据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长度应为10
  • 如果list!= 1,则varNameText长度应为12

如何在我的xml文件中执行此操作。

谢谢你的回答。

validation jsp struts2 struts ognl
1个回答
0
投票

你可以使用fieldExpression validator

使用OGNL表达式验证字段。

你可以找一个fieldExpression验证器here的例子。

在运行针对valueStack的验证之前,您可以创建一个表达式,该表达式使用填充到操作bean的任意数量的字段。

例如

<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>
© www.soinside.com 2019 - 2024. All rights reserved.