Struts 验证器 validwhen (*this* == null) 未按预期工作
我正在尝试使用 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您应该检查您的无线电场是否确实为空,或者它是否带来了一些值作为空白字符串或 true / false
You should check if your radiofield really is null or if it brings some value as a blank string or true / false