【问题标题】:how to decorate the error message如何装饰错误信息
【发布时间】:2010-03-11 16:01:32
【问题描述】:

这是装饰器代码

$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 标签内, 有什么想法吗?

谢谢

【问题讨论】:

    标签: zend-framework zend-form zend-decorators


    【解决方案1】:

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

    您应该将段落更改为 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>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-06-14
      • 2013-04-28
      • 2019-03-25
      • 1970-01-01
      • 1970-01-01
      • 2013-06-08
      • 1970-01-01
      相关资源
      最近更新 更多