Struts 验证器 validwhen (*this* == null) 未按预期工作

发布于 2024-09-30 02:32:32 字数 811 浏览 4 评论 0原文

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

根据 struts 用户指南,validwhen 子句中的 null 值测试空字符串或 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
}

谢谢

I am trying to do some semi complex validation on a spring form using struts.

According to the struts user guide the value null in a validwhen clause tests for either an empty string or a null value.

I would therefore expect the following check to succeed only when when test is an empty string or 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>

I am seeing that it works when the value of the input is empty. But if I delete the input from the form altogether (I assume this would then map to a null value), it fails...

Does anyone know how to use the struts validator to test for the absence of a field on a submitted form?

I am on Struts 1.3.8.

In case anyone wonders why I need to test for this, the end logic I am looking for is something like:

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

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

自我难过 2024-10-07 02:32:33

您应该检查您的无线电场是否确实为空,或者它是否带来了一些值作为空白字符串或 true / false

You should check if your radiofield really is null or if it brings some value as a blank string or true / false

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文