/ / Wie kann ich zend Form Decorator verwenden, um Fehler innerhalb meiner Paragraf-Tag Wrapping-Label und Eingabe - zend-Framework, Zend-Form, Zend-Dekoratoren

Wie kann ich zend Form Decorator verwenden, um Fehler in meinem Etikett mit Umbruch-Tags und Eingabe zu zerlegen - zend-framework, zend-form, zend-decorators

Ich möchte das folgende Markup rendern:

<div class="row">
<p>
<label>Your Name</label>
<input type="text" class="text_field" name="name">
<ul class="errors">
<li>Waarde is vereist en kan niet leeg worden gelaten</li>
</ul>
</p>
</div>

Das ist mein Zend Form Element + Decorator:

$this->addElement("text", "name", array(
"label" => "Naam:",
"class" => "text_field",
"required" => true,
"decorators" => array(
"ViewHelper",
"Label",
"Errors",
array(array("row" => "HtmlTag"), array("tag" => "p")),
array(array("content" => "HtmlTag"), array("tag" => "div", "class" => "row"))
)));

Aber das führt immer dazu, dass die ul-Liste unter dem p-Tag steht und niemals innerhalb. Es fügt auch ein zusätzliches p-Tag unterhalb der Liste hinzu.

<div class="row">
<p>
<label class="required" for="name">Naam:</label>
<input type="text" class="text_field" value="" id="name" name="name">
</p>
<ul class="errors">
<li>Waarde is vereist en kan niet leeg worden gelaten</li>
</ul>
<p></p>
</div>

Was mache ich falsch?

Antworten:

1 für die Antwort № 1

Fand es! Mein blöder Fehler. Ich habe nur die endgültige gerenderte Ausgabe in meinem Browser überprüft. Ich verwende eine Vorlage, die auch Javascript lädt und dies ändert das DOM, das das unerwünschte Ergebnis erzeugt.

Also das erste Dekorator-Setup funktionierte korrekt.


0 für die Antwort № 2

Versuchen Sie Folgendes:

$this->addElement("text", "name", array(
"label" => "Naam:",
"class" => "text_field",
"required" => true,
"decorators" => array(
"ViewHelper",
"Label",
"Errors",
array(array("content" => "HtmlTag"), array("tag" => "p")),
array(array("content" => "HtmlTag"), array("tag" => "div", "class" => "row"))
)));