【发布时间】:2013-07-15 18:22:26
【问题描述】:
我有一个 Zend 文本元素,它在标签中包含 HTML。我可以通过添加->setOption('escape', false); 选项来阻止Zend 在其中转义HTML。这按预期工作。
但是,当出现错误时,错误显示标签 HTML 已转义为错误消息的标题。我得到的东西看起来像这样:
<strong>First</strong> name
Please enter your first name
我正在考虑解决这个问题的几种方法,但不确定是否可行。我可以更改错误的格式,使其不直接使用输入标签吗?或者有没有办法阻止 Zend 转义错误中的 HTML?
编辑:我没有在输入旁边显示每个输入错误。相反,我将所有错误分组并立即显示它们。每个元素都删除了错误装饰器:
$firstName->removeDecorator('Errors');
然后我通过添加 FormErrors 装饰器将它们显示为一个组:
$myForm->setDecorators(array('FormErrors', ....));
我认为这是导致输入标签显示为错误列表的一部分的原因。
【问题讨论】:
-
产生错误信息的原因是什么?至少在 ZF1 中,默认的错误消息装饰器不包含标签作为错误的标题。
-
@Divey 谢谢 Divey,我已经将我的问题更新为我应该首先写的内容。我正在使用
FormErrors表单装饰器对错误进行分组,所以我认为这就是将标签显示为标题的原因?
标签: php zend-framework zend-form