私には要素があります。カスタムバリデーターとカスタムフィルターを追加したいと思います。バリデーターは、入力がいくつかの許可された値の1つであることを確認してから、フィルターがいくつかのカスタム値を入力に追加します。これは、フィルターを実行する前に、最初に元の入力を検証する必要があることを意味します。この順番でやります
$element = new Zend_Form_Element_Text('element');
$element->addValidator('PermittedValue', false);
$element->addFilter('TotalHyphen', false);
$this->addElement($element);
しかし、この順序は尊重されていません。フィルタが最初に実行されてデータが変更され、次にバリデーターがフィルタリングされたデータに対して実行されます。つまり、有効な入力に対しても常に失敗します。ドキュメントから、これは意図的なもののようです
注:検証はフィルター処理された値で動作しますZend_Form_Element :: isValid()は、検証の前に、提供されたフィルターチェーンを介して値をフィルター処理します。詳細については、「フィルター」セクションを参照してください。
バリデーターとフィルターが実行される順序を指定するにはどうすればよいですか?