gpt4 book ai didi

zend-framework - Zend Form addFilter StripTags 不剥离标签

转载 作者:行者123 更新时间:2023-12-02 07:33:31 25 4
gpt4 key购买 nike

我需要一些帮助来清理 Zend_Form 并向元素添加过滤器。现在我的印象是,当您向表单添加过滤器时,发布表单时,过滤器将作为 Controller 中调度的一部分执行。

然而,当我测试我的表单时,令我惊恐的是,过滤器 StripTags 似乎没有运行,而我正在使用数据中的 HTML 标签获取数据。

我的表单元素如下所示。

$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是否应该过滤,如果可以的话为什么不呢?我在这里缺少什么。

最佳答案

您没有发布有关如何在调用 isValid 后访问数据的代码。 IIRC 仅当您通过 $form->getValue('someElement') 或类似方式访问数据时,过滤器才会生效。

关于zend-framework - Zend Form addFilter StripTags 不剥离标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1121629/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com