1

我根据某些条件隐藏了一些字段,即在 UI 中它们不可见,但是单击提交按钮,struts 正在验证这些隐藏字段..

有没有办法告诉struts不要验证隐藏的字段......即,仅当它们在UI上可见时才验证这些字段。

我正在使用 struts 1.2 框架。

4

2 回答 2

2

当您触发这些条件时在您的表单上设置一个属性,然后在您的验证器中检查它:

if(!form.isSkipValidation()){
   //Hear you can write your Validation code..
}

在 javascript 中,您可以使用隐藏的输入字段设置此属性:

<input type="hidden" name="skipValidation" value="false"/>

希望这会有所帮助...

于 2012-12-05T04:52:17.143 回答
2

Struts 将验证表单中的任何内容,无论是否隐藏。

您需要使用条件验证并确定是否应该执行这些验证,可能通过另一个隐藏的表单值,具体取决于您如何决定隐藏的内容。

就个人而言,我发现这种验证在 XML 配置下很难维护。特别是如果验证条件依赖于业务逻辑,我更喜欢在自定义验证器或 ActionForm 验证方法中看到这种逻辑,封装在与 Struts 框架完全隔离的类中。

于 2012-12-05T20:54:57.690 回答