как оформить сообщение об ошибке - PullRequest
0 голосов
/ 11 марта 2010

это код декоратора

$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, Любая идея, пожалуйста?

спасибо

1 Ответ

1 голос
/ 18 марта 2010

Это не работает, потому что недопустимо иметь неупорядоченный список внутри абзаца.

Вы должны изменить абзац на div или другой элемент, который имеет смысл семантически. Затем ViewHelper поместит неупорядоченный список ошибок сразу после ввода, в конце div. Вам не нужно будет писать дополнительный код, и HTML-код будет действительным. Просто измените «p» на «div» в декораторе HtmlTag.

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>
...