我有一个包含一个复选框(不是复选框列表)和一个文本字段的表单。 如果选中该复选框,则无需输入textfield的值。 如果未选中该复选框,则需要验证textfield是否必须。 如何使用表达式验证器。这可以在struts2.0.11中使用。
让我知道
提前致谢
答案 0 :(得分:1)
使用 fieldexpression validator 。示例:
<强> SomeAction.java 强>
private SomeObject object; // with getter & setter
private boolean doNotCheck; // with setter
<强>的Input.jsp 强>
<s:textfield name="object.field" />
<s:checkbox name="doNotCheck" />
<s:fielderror fieldName="object.field" />
<强> SomeAction.validation.xml 强>
<validators>
<field name="object.field">
<field-validator type="fieldexpression">
<param name="expression">
<![CDATA[ isDoNotCheck() ? true : (object.field != null && !object.field.isEmpty()) ]]>
<!-- OR -->
<!-- isDoNotCheck() ? true : !object.field.isEmpty() -->
</param>
<message>This is a mandatory field</message>
</field-validator>
</field>
</validators>
答案 1 :(得分:0)
您可以在操作类中实现validate()
方法,并在其中添加验证代码。
有关详细信息,请阅读文档。
http://struts.apache.org/2.x/docs/form-validation.html
另一种选择是xml验证。 http://struts.apache.org/2.x/docs/validation.html