如何在自定义html中包装Zend_Form错误消息?

时间:2010-03-09 15:51:00

标签: php zend-framework zend-form zend-form-element

我需要在自定义html中包装zend表单错误消息。

<div class="cerror" id="ID-error">
    <div class="ui-widget">
        <div class="ui-state-error ui-corner-all" id="IDerror-msg">
            %ZEND_FORM_ERROR_MESSAGE%
        </div>
    </div>
</div>

现在我收到格式错误:

<ul>
    <li>Error message</li>
</ul>

我需要:

<div class="cerror" id="EMAIL-error">
    <div class="ui-widget">
        <div class="ui-state-error ui-corner-all" id="EMAIL-error-msg">
            <ul>
                <li>Error message</li>
            </ul>
        </div>
    </div>
</div>

谢谢!

我有以下代码:

        $element->clearDecorators();
        $element->removeDecorator('DtDdWrapper');
        $element->addDecorator('ViewHelper');
        $element->addDecorator('Description', array('tag' => 'p', 'class' => 'description'));
        $element->addDecorator('Label', array('tag' => null));
        $element->addDecorator(array('row' => 'HtmlTag'), array('tag' => 'div', 'class' => 'form-line'));

如何包装3个div标签中的错误?谢谢!

1 个答案:

答案 0 :(得分:0)

    $element->clearDecorators();
    $element->addDecorator('Errors');
    $element->addDecorator(array('div1' => 'HtmlTag'), array('tag' => 'div',
                    'class' => 'cerror', 'id' => 'EMAIL-error'));
    $element->addDecorator(array('div2' => 'HtmlTag'), array('tag' => 'div',
                    'class' => 'ui-widget'));
    $element->addDecorator(array('div3' => 'HtmlTag'), array('tag' => 'div',
                    'class' => 'ui-state-error ui-corner-all',
                    'id' => 'EMAIL-error-msg'));
    $element->addDecorator('ViewHelper');
    $element->addDecorator('Description', array('tag' => 'p', 'class' => 'description'));
    $element->addDecorator('Label', array('tag' => null));
    $element->addDecorator(array('row' => 'HtmlTag'), array('tag' => 'div', 'class' => 'form-line'));