Auf der Suche nach einer einfachen Möglichkeit zum Hinzufügen von Einschränkungen dynamisch zu allen meinen Formularfeldern. Bis jetzt bin ich auf die Idee gekommen, eine form type extension zu verwenden, die Art von funktioniert: Ich kann das Formular Ansicht ändern und dann manuell die Ansicht auf Formularvorlage überprüfen.Symfony Dynamic Form Constitains
Gibt es jedoch eine intelligentere Möglichkeit, echte Symfony-basierte Einschränkungen in Echtzeit hinzuzufügen?
(Beachten Sie, dass die Einschränkungen der Form hinzugefügt werden müssen, in Echtzeit, wie das Formular geladen wird auf die Benutzerkonfiguration in der Datenbank basiert .. Vordefinierte Form-Gruppen und dergleichen wird nicht funktionieren.)
Ja, danke. Ich würde es nie tun Ich habe darüber nachgedacht, Formularereignisse innerhalb einer Formulartyperweiterung zu verwenden. Aber da meine Typerweiterung für jedes Formularfeld aufgerufen würde, müsste '$ event-> getForm() -> add (...)' sich selbst ersetzen? Wie würde ich das tun? – nurikabe
Werfen Sie einen Blick auf die Bearbeitung. (Mein Beispiel verwendet einen EventSubscriber, der als Dienst injiziert wird. Aber Sie können dasselbe mit einem EventListener als Abschluss tun). – Alsatian
Aha, vermeiden Sie das rekursive Feld Walking von 'FormType :: class', indem Sie nach dem Stammformular suchen. Nett! – nurikabe