如何删除Zend Form错误消息?

时间:2010-01-14 16:58:44

标签: zend-framework forms

我改变了装饰者:

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;
}

但现在我需要删除表单字段下的错误消息。我该怎么做?

1 个答案:

答案 0 :(得分:4)

表单中的每个元素,子表单和显示组也都有一个装饰器堆栈,因此您需要修改不希望显示错误消息的元素的堆栈。

有很多方法可以做到这一点:

$form->setElementDecorators(array(
    'ViewHelper',
    'HtmlTag',
    'Label'
));

如果你想保留默认的元素装饰器堆栈,但是删除了错误装饰器,那么该怎么办?您也可以在单个元素的基础上进行:

$element->setDecorators(array(
    'ViewHelper',
    'HtmlTag',
    'Label'
));

或者当您添加元素时:

$form->addElement($type, $name, array(
    'decorators' => $decorators
))