【问题标题】:struts escape form validations for hidden fieldsstruts 为隐藏字段转义表单验证
【发布时间】:2012-12-05 04:34:10
【问题描述】:

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

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

我正在使用 struts 1.2 框架。

【问题讨论】:

  • 一个代码 sn-p 会很好:)
  • 如果您使用的是 Struts,请不要用 Struts2 标记您的问题。

标签: java struts struts-1 struts-validation


【解决方案1】:

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

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

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

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

希望对您有所帮助...

【讨论】:

  • 但是我所有的表单验证都发生在validations.xml而不是java类中
  • 谢谢,我忘了验证器类,现在我按照你的建议处理它。
【解决方案2】:

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

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

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

【讨论】:

    猜你喜欢
    • 2012-06-28
    • 1970-01-01
    • 1970-01-01
    • 2017-06-17
    • 2013-10-07
    • 2012-12-06
    • 2019-01-29
    • 2017-08-23
    • 2015-10-05
    相关资源
    最近更新 更多