我已将一个表单拆分为 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/