【问题标题】:Disable Zend Form Element validation if hidden如果隐藏则禁用 Zend 表单元素验证
【发布时间】:2011-09-27 23:54:26
【问题描述】:

我的 zend 表单中有一些元素有时会通过 javascript 隐藏。

如果它们被隐藏,我想禁用它们的验证,因此表单将是有效的。

在服务器端有什么办法吗?还是在元素设置中?

谢谢。

【问题讨论】:

    标签: zend-framework zend-form-element


    【解决方案1】:

    根据情况,您可以同时禁用隐藏项目。因此它们不会被发布,然后您可以使用isValidPartial 仅验证参数中发送的字段。

    【讨论】:

    • 如果你使用Zend_Form_Element,你可以像new Zend_Form_Element_Hidden('fieldName', array('disabled' => 'disabled'));这样声明你的隐藏字段。但是,同样,如果您禁用它们,它们将不会被发布。
    【解决方案2】:

    我认为您可能需要在调用 isValid() 之前删除隐藏字段的验证器(通过调用 clearValidators())。

    这里有一个类似的问题:Zend form validation。您可能会从答案中得到一些启发。

    希望对你有帮助,

    【讨论】:

    • 有点不同,因为在那篇文章中元素被完全删除。我只是把它们放在一个带有 display:none 的 div 中。无论如何在服务器端检测它们是隐藏的吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-03-24
    • 1970-01-01
    • 2011-12-28
    • 1970-01-01
    • 2020-11-20
    • 1970-01-01
    • 2018-10-27
    相关资源
    最近更新 更多