2016-04-11 4 views
0

Mit CakePHP 3.x können Validierungsregeln innerhalb eines Controllers hinzugefügt werden.Validierung zu Controllern in Cake 3.x hinzufügen

Ich habe http://book.cakephp.org/3.0/en/core-libraries/validation.html gelesen aber es sagt eigentlich nicht wo Sie (können/sollten) fügen Sie Ihre Methoden hinzu.

Ich verstehe, dass diese in der Regel in src/Model/Table/ModelName.php gehen. Ich versuche jedoch, ein Formular zu validieren, das nicht an eine bestimmte Datenbanktabelle gebunden ist und kein entsprechendes Modell benötigt.

Ich bin vertraut mit Cake 2.x, wo ich dies normalerweise in der Steuerung tun würde, oder möglicherweise ein Modell mit $ useTable = false hinzufügen. Aber in diesem Fall scheint die einfachste Methode die Regeln direkt im Controller hinzuzufügen, aber ich war mir nicht sicher, ob das eine schlechte Übung ist. Wenn die Regeln nicht in den Controller gehen, wo sollten sie hingelegt werden?

Kontext - Dies ist ein Formular, in dem der Benutzer eine Suche durchführt. Es erfordert einige Eingaben und ich versuche, 3 Felder zu validieren: E-Mail, Menge und eine Postleitzahl. Der Validierer von Cake hat eingebaute Funktionen, um die ersten beiden zu machen, aber im Fall der Postleitzahl muss ich eine benutzerdefinierte Methode hinzufügen.

Jeder Ratschlag geschätzt.

Antwort

0

In CakePHP 3.x ist es akzeptabel, Validierungsregeln innerhalb eines Controllers hinzuzufügen?

Technisch möglich, aber ich würde es als schlechte Praxis betrachten.

Ich verstehe, dass diese in der Regel in src/Model/Table/ModelName.php gehen. Ich versuche jedoch, ein Formular zu validieren, das nicht an eine bestimmte Datenbanktabelle gebunden ist und kein entsprechendes Modell benötigt.

Es gibt einen ganzen Abschnitt namens "Modelless Forms" in the book, der diesen Anwendungsfall abdeckt.

+1

Danke für den Link. Das konnte ich nicht finden! –

Verwandte Themen