Zend Form addFilter StripTags不剥离标签

Gra*_*ins 5 zend-framework zend-form zend-filter-strip-tags

我需要一些帮助清除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')
Run Code Online (Sandbox Code Playgroud)

但是,如果我在文本区域中放入一些带有html标签的数据,然后检查表单是否有效使用

$formData = $this->_request->getPost();
if($form->isValid($formData){
    ...
Run Code Online (Sandbox Code Playgroud)

数据随其中的标签一起返回.它只在我通过strip_tags()函数传递数据时删除.

我想我的问题是StipTags应该过滤器,如果是这样,为什么不呢?我在这里想念的是什么

Jan*_*nen 8

在调用isValid之后,您没有发布有关如何访问数据的代码.IIRC只有当您通过$form->getValue('someElement')这些线路访问数据时,过滤器才会生效.