2012-12-05 30 views
1

我隐藏一些领域根据一些条件,即在UI他们将是不可见的,但点击提交按钮,Struts是验证这些隐藏字段..支柱逃脱表单验证的隐藏字段

有一种告诉struts不要验证被隐藏的字段的方法...我只验证这些字段在UI中可见时。

我使用的是struts 1.2框架。

+0

代码片段会很好:) – KyelJmD

+0

如果您使用的是Struts,请不要使用Struts2标记您的问题。 – Pigueiras

回答

2

设置你的窗体上的属性,当你触发这些条件,然后再检查,在您的验证:

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

在javascript中,你可以用一个隐藏的输入字段设置该属性:

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

希望这是有帮助的...

+0

但是我所有的表单验证都发生在validations.xml中,而不是java类 – JAB

+0

谢谢,我忘了验证程序类,现在我正按照您的建议处理它。 – JAB

2

struts将验证任何形式,隐藏或不。

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

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