Freigabe von Symfony2 Validierungsregeln mit backbone.js oder Javascript im Allgemeinen?

9

Wäre es möglich, Symfony2 Validierungsregeln (für eine bestimmte Entität) verfügbar zu machen? Ich kann nichts dergleichen finden. Ich versuche eine clientseitige Validierung (mit backbone.js ) mit einem DRY-Ansatz durchzuführen. Etwas wie ein Bündel oder irgendein Tipp würde helfen.

Hier ist die Komponente Validator. Eine Möglichkeit wäre:

Definieren Sie serverseitige Validierung Regeln mit Symfony2 Standard Weg. Beispiel (YAML, von ihrer Website):

%Vor%

Stellen Sie /author/rules ein JSON-Objekt zurück, das Felder der Entität einem "kompilierten" regulären Ausdruck zuordnet . Ich bin mir da nicht so sicher, aber ich denke, dass Symfony2 validation.yml -Regeln intern in reguläre Ausdrücke übersetzt.

Unter der Annahme, dass eine Autorenentität aus name Feld mit NotBlank besteht (Anmerkung, ich bin kein Master in Regex, dies ist ein Kopieren und Einfügen aus einer anderen Frage):

%Vor%

Abschließend rufen Sie dieses JSON-Objekt ab und führen eine clientseitige Validierung mit backbone.js durch. Möglicherweise Zwischenspeicherung . Zum Beispiel (Warnung! Pseudo-Code-ähnlicher Code in validate() ):

%Vor%

Frage ich nach dem Mond?

    
gremo 07.03.2012, 01:23
quelle

2 Antworten

0

Dieses Bundle entspricht möglicherweise Ihren Anforderungen APYJsFormValidationBundle

Es ist jedoch derzeit begrenzt, definierte Einschränkungen, die auf Entitäten angewendet werden, zu bestätigen.

Die Unterstützung für die definierten Einschränkungen php, yml und xml befindet sich in der ToDo-Liste.

    
MadManMonty 22.03.2012 00:08
quelle
0

Sie können dieses Bündel ausprobieren. Ich habe es mit unterschiedlichem Erfolg in der Vergangenheit benutzt.

Ссылка

Es exportiert alle Symfony-Validierungsregeln und speichert sie dann in einer JS-Datenstruktur. Dann gibt es verschiedene Helfer, mit denen Sie diese Validierungen durchsetzen können. Denken Sie auch daran, die HTML5-Formularüberprüfung mit <form novalidate="novalidate"> etc /

zu deaktivieren

Ich denke, es ist vielleicht auf Symfony & lt; = 2.6 beschränkt, aber ich habe es mit Symfony 2.7.7 zu tun. Die Betreuer arbeiten zur Zeit an der Unterstützung von Symfony 3.0, denke ich.

    
Benr77 15.12.2015 08:34
quelle