Итак, у меня есть форма, использующая пользовательский фильтр (который на самом деле является просто копией Zend_Filter_Null
). Когда я звоню прямо, это работает:
$makeZeroNull = new My_Filter_MakeZeroNull();
$null = $makeZeroNull->filter('0');
//$null === null
Однако, когда я пытаюсь добавить его к элементу в моей форме, он не фильтрует значение, когда я вызываю getValue()
.
class My_Form extends Zend_Form {
public function init() {
$makeZeroNull = new My_Filter_MakeZeroNull();
$this->addElement('text', 'State_ID', array('filters' => array($makeZeroNull)));
}
}
//in controller
if ($form->isValid($_POST)) {
$zero = $form->State_ID->getValue();
//getValue() should return null, but it is returning 0
}
Что происходит? Что я делаю не так?