Zend_Formで何かをクリアし、要素にフィルターを追加するのに少し助けが必要です。フォームにフィルターを追加すると、フォームが投稿されたときに、そのフィルターがコントローラーのディスパッチの一部として実行されたという印象を受けました。
ただし、フォームを恐ろしくテストすると、フィルターStripTagsが実行されていないようで、データにHTMLタグが含まれているデータを取得しています。
私のForm要素は次のようになります。
$address1 = new Zend_Form_Element_Textarea('address1');
$address1->addFilter('StripTags')
->addFilter('StringTrim')
->setAttrib('cols', 30)
->setAttrib('rows', 5)
->removeDecorator('DtDdWrapper')
->removeDecorator('label')
->removeDecorator('HtmlTag')
ただし、テキスト領域にhtmlタグを含むいくつかのデータを入力し、フォームが有効であることを確認するには、
$formData = $this->_request->getPost();
if($form->isValid($formData){
...
データにはタグが含まれています。strip_tags()関数を介してデータを渡すときにのみ削除されます。
私の質問は、StipTagsがフィルタリングする必要がある場合、なぜそうではないのかということだと思います。ここで何が欠けていますか。