这是装饰器代码
$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标记内, 任何想法请求?
感谢
答案 0 :(得分: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>