Zend framework 如何装饰错误消息

Zend framework 如何装饰错误消息,zend-framework,zend-form,zend-decorators,Zend Framework,Zend Form,Zend Decorators,这是装饰代码 $mydecorate = array( 'ViewHelper', array('Errors', array('placement' => 'append','class' => 'error')), array('Label', array('separator' => '')), array('HtmlTag', array('tag' => 'p', 'class' => 'element-

这是装饰代码

$mydecorate = array( 
      'ViewHelper', 
      array('Errors', array('placement' => 'append','class' => 'error')),
      array('Label', array('separator' => '')),
      array('HtmlTag', array('tag' => 'p', 'class' => 'element-form'))
      );
具有上述装饰符的两个输入元素的html结果:

<p class="element-form">
    <label for="firstname" class="required">First Name:</label>
    <input name="firstname" id="firstname" value="" type="text">
</p><ul class="error"><li>required field!</li></ul>
<p class="element-form">
    <label for="lastname" class="required">Last Name:</label>
    <input name="lastname" id="lastname" value=""  type="text">
</p><ul class="error"><li>required field!</li></ul>

名字:

  • 必填字段

姓氏:

  • 必填字段
我希望将错误消息放在p.element-form标记中, 有什么想法吗


谢谢

它不起作用,因为在段落中包含无序列表是无效的

您应该将段落更改为div或其他在语义上有意义的元素。然后ViewHelper将把无序的错误列表放在输入之后的div末尾。您不必编写任何额外的代码,html将是有效的。只需在HtmlTag装饰器中将“p”更改为“div”

array('HtmlTag', array('tag' => 'div', 'class' => 'element-form'))

<div class="element-form">
    <label for="firstname" class="required">First Name:</label>
    <input name="firstname" id="firstname" value="" type="text">
    <ul class="error">
      <li>required field!</li>
    </ul>
</div>
array('HtmlTag',array('tag'=>'div','class'=>'element form'))
名字:
  • 必填字段