如何禁用Zend \ Element \ Select的inArray验证器? 我无法删除此标准验证器选择元素。
修改
我要做的是使用ajax填充select元素以实现动态。这样inArray就会失去参考字段值。
有谁知道用ajax填充这个元素的正确方法是什么?
答案 0 :(得分:0)
实际上看起来现在看起来不可能禁用验证器;但是,您可以覆盖select元素,以便能够删除此特定情况的验证器:
use Zend\Form\Element\Select;
class MySelect extends Select {
public function getValidator() {
return $this->validator;
}
}
基本上当前select元素的关键问题是如果验证器不存在;它会创造它。您在这里的另一个选择是手动设置验证器;您可能正在做的是手动创建InArrayValidator并使用可能来自您的AJAX调用的潜在选项填充它。在这种情况下,您需要在上面添加一个setter。
答案 1 :(得分:0)
从版本2.2开始,Zend Framework提供了禁用inArray验证器调用的功能:
$element->setDisableInArrayValidator(false);
或将选项传递给元素:
'disable_inarray_validator' => false