Struts2 xml验证复选框不适用于checboxlist

时间:2011-08-08 08:46:55

标签: struts2 xml-validation

我有一个包含一个复选框(不是复选框列表)和一个文本字段的表单。 如果选中该复选框,则无需输入textfield的值。 如果未选中该复选框,则需要验证textfield是否必须。 如何使用表达式验证器。这可以在struts2.0.11中使用。

让我知道

提前致谢

2 个答案:

答案 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