J'ai donc un formulaire qui utilise un filtre personnalisé (qui est vraiment juste une copie de Zend_Filter_Null
). Quand je l'appelle directement, cela fonctionne:Zend Framework: Mon filtre de formulaire personnalisé ne filtre pas!
$makeZeroNull = new My_Filter_MakeZeroNull();
$null = $makeZeroNull->filter('0');
//$null === null
Cependant, lorsque je tente de l'ajouter à un élément sous ma forme, il ne filtre pas la valeur quand je l'appelle 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
}
Que se passe-t-il? Qu'est-ce que je fais mal?