【发布时间】:2011-01-28 00:25:51
【问题描述】:
我有一个元素。我想向它添加一个自定义验证器和自定义过滤器。验证器确保输入是几个允许值之一,然后过滤器将一些自定义值添加到输入中。这意味着我必须在运行过滤器之前先验证原始输入。我按这个顺序做
$element = new Zend_Form_Element_Text('element');
$element->addValidator('PermittedValue', false);
$element->addFilter('TotalHyphen', false);
$this->addElement($element);
但是这个命令没有得到尊重。过滤器首先运行并更改数据,然后验证器在过滤后的数据上运行,这意味着即使输入有效,它也总是失败。从documentation看来这是故意的
注意:验证在过滤后运行 值 Zend_Form_Element::isValid() 通过提供的过滤值 验证之前的过滤器链。看 过滤器部分了解更多信息 信息。
如何指定验证器和过滤器的运行顺序?
【问题讨论】:
标签: php zend-framework zend-validate zend-filter