Array-Eingabe wie name="person []" in Zend-Form

8

In normalem HTML könnten wir ein Array-Feld wie person[]

haben %Vor%

Soweit ich weiß, hat Zend_Form das nicht. Ich lese eine andere Antwort , die darauf hinweist, dass es möglich wäre, a Dekorateur, der das [] an der richtigen Stelle hinzufügen würde. Dies ist der Code für diese spezielle Frage

%Vor%

Das sieht nach einem guten Anfang aus, aber ich frage mich, ob es ausreicht, einen Dekorateur zu benutzen. Die Werte, die zurückgeliefert werden, müssen korrekt gelesen und an den Server übermittelt werden, bevor sie auf der Serverseite validiert werden. Also ist ein Dekorateur die falsche Idee? Wäre ein individuelles Element hier sinnvoller? Ich habe kein gutes Beispiel gesehen, das zeigt, wie das gemacht werden kann.

    
jblue 07.02.2011, 14:17
quelle

1 Antwort

13

Ich denke, dass ZF die Erstellung einzelner Eingabetextfelder mit dem Namen person[] nicht zulässt, obwohl Sie dies für das gesamte Formular oder ein Unterformular tun könnten. Es erlaubt jedoch etwas Ähnliches. Insbesondere könnten Sie Felder mit dem Namen person[0] , person[1] usw. erstellen.

Um dies zu tun, könnten Sie Folgendes tun:

%Vor%

Auf diese Weise könnten Sie normalerweise Ihre Validatoren, Filter usw. an $ in1 oder $ in2 anhängen und sie würden wie erwartet funktionieren. In Ihrer Aktion können Sie nach der Formularvalidierung ein Array der Eingabetextfelder der Person wie folgt abrufen:

%Vor%

Interessanterweise wird NICHT funktionieren:

%Vor%

Hoffe, das wird dir helfen.

    
Marcin 07.02.2011, 15:25
quelle

Tags und Links