Verwenden Sie beim Erstellen eines Formulars eine bedingte Anweisung

7

Ich möchte eine bedingte Anweisung verwenden, wenn ich ein Formular in Symfony erstelle.

Ich verwende ein Auswahl Widget im allgemeinen Fall. Wenn der Benutzer die Option " Andere " auswählt, möchte ich ein zusätzliches Textfeld Widget anzeigen. Ich nehme an, dass dies in Javascript gemacht werden kann, aber wie kann ich die Daten von 2 Widgets immer noch in derselben Eigenschaft in meiner Entity speichern?

Ich habe das bisher:

%Vor%

Ich plante, einen DataTransfomer zu verwenden, aber auf zwei Widgets ??

    
Mick 24.07.2012, 15:36
quelle

1 Antwort

33

Ich empfehle, einen benutzerdefinierten Typ dafür zu erstellen, zum Beispiel ChoiceOrTextType . Zu diesem Typ fügen Sie sowohl die Auswahl ("Auswahl") als auch das Textfeld ("Text") hinzu.

%Vor%

Wie Sie bereits vermutet haben, benötigen Sie auch einen Datentransformator, der ganz einfach sein kann:

%Vor%

Machen Sie nun nur das Feld "Menü" zu einem Feld dieses Typs.

%Vor%     
Bernhard Schussek 25.07.2012, 18:16
quelle

Tags und Links