我隐藏了一些基于某些条件的字段,即在UI中它们将不可见,但点击提交按钮,struts正在验证这些隐藏的字段..
有没有办法告诉struts不要验证隐藏的字段... i。,只有当这些字段在UI上可见时才验证这些字段。
我正在使用struts 1.2框架。
答案 0 :(得分:2)
触发这些条件时在表单上设置属性,然后在验证器中检查该属性:
if(!form.isSkipValidation()){
//Hear you can write your Validation code..
}
在javascript中,您可以使用隐藏的输入字段设置此属性:
<input type="hidden" name="skipValidation" value="false"/>
希望这有用......
答案 1 :(得分:2)
Struts将验证表单中隐藏与否的内容。
您需要使用条件验证并确定是否应该执行这些验证,可能是通过另一个隐藏的表单值,具体取决于您如何确定隐藏的内容。
就个人而言,我发现在XML配置下难以维护这种验证。特别是如果验证条件依赖于业务逻辑,我更喜欢在自定义验证器或ActionForm验证方法中看到这种逻辑,封装在与Struts框架完全隔离的类中。