【问题标题】:Struts validator validwhen (*this* == null) not working as expectedStruts 验证器 validwhen (*this* == null) 未按预期工作
【发布时间】:2010-11-04 23:25:27
【问题描述】:

我正在尝试使用 struts 对弹簧表单进行一些半复杂的验证。

根据 struts 用户指南,validwhen 子句中的 null 值测试是空字符串还是空值。

因此,我希望以下检查仅在 test 为空字符串或 null 时才能成功。

    <field property="test" depends="validwhen">
        <msg name="validwhen" key="error.test"/>
        <arg position="0" key="testForm.test"/>
        <var>
            <var-name>test</var-name>
            <var-value>(*this* == null)</var-value>
        </var>
    </field>

我看到当输入的值为空时它可以工作。但是如果我从表单中完全删除输入(我假设这会映射到一个空值),它会失败......

有谁知道如何使用 struts 验证器来测试提交的表单上是否缺少字段?

我正在使用 Struts 1.3.8。

如果有人想知道为什么我需要对此进行测试,我正在寻找的最终逻辑类似于:

if(radio fieldA is present and true){
 fieldB is required
}else{
 fieldB not required
}

谢谢

【问题讨论】:

    标签: spring validation spring-mvc struts struts-validation


    【解决方案1】:

    你应该检查你的radiofield是否真的为空,或者它是否带来了一些值作为一个空白字符串或真/假

    【讨论】:

    • 是的,原来表单支持对象上的字段是布尔原始类型,因此永远不能为空!
    猜你喜欢
    • 1970-01-01
    • 2018-03-31
    • 2013-01-21
    • 1970-01-01
    • 1970-01-01
    • 2018-01-27
    • 2012-09-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多