Ich habe Probleme mit Symfony3, um {{form_errors ([formname.field])}} Nachrichten mit einem Formular anzuzeigen, das andere Formulare einbettet.Symfony-Formular, das andere Formulare einbindet, wie man form_errors/validation.message erreicht
ich ein symfony-Projekt auf GitHub fallen gelassen habe mein Problem zu erklären: https://github.com/nyluje/symfony_test_form_embedded
Sie werden darin finden:
- \ src \ AppBundle \ Controllers \ DefaultController.php angezeigt werden geändert der Test.
- Unter \ src \ AppBundle \ Entity \ zwei Entitäten: EntityForFormA und EntityForFromB erstellt mit einem "field1" von EmailType.
- Unter \ src \ AppBundle \ Form: 3 Formulardateien; 2 Sind direkt mit der EntityForFormA und EntityForFormB verknüpft: FormAType und FormBType und der letzte FormCType gibt es beide in ein Formular einbetten.
An der Spitze der \ app \ Resources Datei \ default \ index.hmtl.twig:
{{ form_start(form_a) }}
{{ form_label(form_a.field1) }}
{{ form_widget(form_a.field1) }}
{{ form_errors(form_a.field1) }}
{{ form_end(form_a) }}
{{ form_start(form_c) }}
{{ form_label(form_c.FormA.field1) }}
{{ form_widget(form_c.FormA.field1) }}
{{ form_errors(form_c.FormA.field1) }}
{{ form_label(form_c.FormB.field1) }}
{{ form_widget(form_c.FormB.field1) }}
{{ form_errors(form_c.FormB.field1) }}
{{ form_end(form_c) }}
Wenn Sie ein Formular A mit dem Wert "j @ j" Eintragen tun Sie bekommen: Die Fehlermeldung "Dieser Wert ist keine gültige E-Mail-Adresse" wird deutlich angezeigt.
Nun, wenn Sie Formular C mit dem Wert „j @ j“ in beiden Feldern einreichen:
Die Fehlermeldung „Dieser Wert ist keine gültige E-Mail-Adresse“ wird nicht angezeigt.
Weiß jemand, warum die Fehlermeldungen im Falle von FormC nicht angezeigt werden?
Danke @Richard! Wenn ich nach einem Hinweis zu einer Lösung komme, finde ich sie auch gar nicht intuitiv (ich musste ein zusätzliches EntityForFormC mit den Attributen entityForFormA und entityForFormB darin erstellen und im Controller EntityForFormA-B setzen). Ich habe festgestellt, dass es besser gewesen wäre, {{form_errors ([parentForm]. [EmbeddeForm]. [FieldOfEmbeddedFrom])}} zu verwenden, wenn {{form_label ([parentForm]. [EmbeddeForm]. [FieldOfEmbeddedFrom])) }} und {{form_widget ([parentForm]. [embeddeForm]. [fieldOfEmbeddedFrom])}}, die den Job auf diese Weise erledigen. – nyluje