我改变了装饰者:
private function _addErrorDecorator($form)
{
$form->setDecorators(array(
'FormElements',
new Zend_Form_Decorator_FormErrors(array
(
'ignoreSubForms' => true,
'markupElementLabelEnd' => '</b>',
'markupElementLabelStart' => '<b>',
'markupListEnd' => '</div>',
'markupListItemEnd' => '</span>',
'markupListItemStart' => '<span>',
'markupListStart' => '<div id="Form_Errors">'
)
),
'Form'
));
return $form;
}
但现在我需要删除表单字段下的错误消息。我该怎么做?
答案 0 :(得分:4)
表单中的每个元素,子表单和显示组也都有一个装饰器堆栈,因此您需要修改不希望显示错误消息的元素的堆栈。
有很多方法可以做到这一点:
$form->setElementDecorators(array(
'ViewHelper',
'HtmlTag',
'Label'
));
如果你想保留默认的元素装饰器堆栈,但是删除了错误装饰器,那么该怎么办?您也可以在单个元素的基础上进行:
$element->setDecorators(array(
'ViewHelper',
'HtmlTag',
'Label'
));
或者当您添加元素时:
$form->addElement($type, $name, array(
'decorators' => $decorators
))