如何在zend_form中重新呈现类错误消息?

时间:2013-02-19 04:16:03

标签: php zend-form rerender

Zend_Form中的默认错误消息如下:

<ul class="errors">
    <li>Please enter your email !</li>
</ul>

我想像这样重新投降:

<div class="errors">Please enter your email !</div>

由于

2 个答案:

答案 0 :(得分:0)

我没有给出详细信息,但它肯定会帮助你......在你的表格助手中尝试这样做

// Email
$email = $this->createElement('text', 'email');
$email->setRequired(true)
->setLabel('Email *')
->addFilters(array('StringTrim'))
->setAttribs(array('class' => 'input-text'))
->addValidator('EmailAddress')
->addValidator('NotEmpty', true)
->clearDecorators()
->addDecorator('Label', array('escape' => false))
->addDecorator('ViewHelper')
->addDecorator('Errors')
->addDecorator(array('data'=>'HtmlTag'),
  array('tag' => 'div', 'class' => 'group'));
$email->getValidator('EmailAddress')
    ->setMessage('invalid email', 'emailAddressInvalidFormat');
$email->getValidator('NotEmpty')
    ->setMessage('enter email', 'isEmpty');

这是您在div的

中的电子邮件验证自定义错误消息

答案 1 :(得分:0)

您只需将相关的elementStartelementEndelementSeparator选项传递给Errors装饰器视图助手即可。例如

$element->addDecorator('Errors', array(
    'elementStart'     => '<div%s>',
    'elementSeparator' => '<br>',
    'elementEnd'       => '</div>'
));

您还没有说过要如何分隔多个错误消息。我假设使用上面的<br>换行。