php - Zend Validate - 如何从不同的子表单传递上下文值?

标签 php zend-framework zend-form zend-validate

我已将一个表单拆分为 3 个子表单,对于其中一个元素,在最后一个子表单中,我创建了一个扩展 Zend_Validator_Abstract 的验证器。 .

此验证器需要检查第二个子窗体上的值是否不为空。但是这个值不会在 $context 中第三个子窗体中元素的数组。

$context 中提供此值的明智方法是什么?跨子表单?

...

经过一番思考,我能想到的唯一方法是将父 Form 的引用传递给 Validator 的构造函数,尽管它破坏了封装。

最佳答案

您也可以尝试覆盖 表单对象 isValid() 方法并利用那里可用的 $data 变量。

例如:

<?php 
class MyForm extends Zend_Form {
    public function isValid($data) {
        // check $data['fieldname'] or add a new validator here, then...
        return parent::isValid($data);
    }
}

关于php - Zend Validate - 如何从不同的子表单传递上下文值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3503103/

相关文章:

c# - 我如何将 RSAParameters 从 .net 转换为 .pem 文件,以便我可以在 php 中使用它

php - 选择选项更改后更新数据库

zend-framework - 有没有办法从 Zend Framework 的 Bootstrap 重定向浏览器?

zend-framework - 如何在基于 Zend Framework 的应用程序中的应用程序 Bootstrap 中使用模块中的模型类?

zend-framework - Zend 表单 - 两行元素标签

php - 如何使用 PHP 用 HTML 注释字符串(即如何通过偏移量维护有效的 HTML 将 HTML 标记插入字符串)?

php - 在 MAMP 上设置 Cron 作业 - InfiniteWP

php - 在表中搜索以查找 set_id 是否存在 IP 地址

php - 使用 Zend Framework 验证多个可选表单字段

php - Zend_Form : how to check 2 fields are identical