【问题标题】:how can I rerender class error message in zend_form?如何在 zend_form 中重新呈现类错误消息?
【发布时间】:2013-02-03 16:15:43
【问题描述】:

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

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

我想像这样重新渲染:

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

谢谢

【问题讨论】:

    标签: php zend-form rerender


    【解决方案1】:

    我没有提供详细信息,但它肯定会帮助你......在你的表单助手中尝试这样

    // 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 中的电子邮件验证客户错误消息

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

      • 我可以直接在 Zend_Form 中使用吗?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-01-24
      • 2019-09-19
      • 2016-07-06
      • 1970-01-01
      • 1970-01-01
      • 2011-03-22
      • 1970-01-01
      相关资源
      最近更新 更多