dedlfix: Fehlerbehandlung

Beitrag lesen

Tach!

Wohin schreibe ich nun am besten den Code, für das was passieren soll? Eine eigene Klasse? Einfach nur eine neue Methode innerhalb des bestehendes Controller? Ganz anders strukturieren?

Validierung kann im einfachsten Fall im Controller passieren. Der setzt dann einige Variablen für das Template und das kümmert sich um die Darstellung.

Validierung ist aber nicht unbedingt Aufgabe des Controllers, es sei denn, es handelt sich um eine spezielle Validierung nur für diese Action, die wenig oder gar nichts mit dem Model zu tun hat. Eigentlich sollte das Model wissen, ab seine Daten valide sind oder nicht. Das heißt also, man erstellt sich ein Model-Objekt aus den Eingabedaten, und dann kommt es darauf an, wie man die Model-Geschichte realisiert hat. Als Active Record kann das Model sich selbst prüfen. Hat man jedoch schlanke Daten-Klassen, wird der Validator ein separater Teil innerhalb des Model-Teils sein.

Ich empfehle, bei anderen Projekten Inspiration zu holen. Ich kenne Yii als PHP-MVC-Framework, das Active-Record verwendet, und ASP.NET MVC, das mit schlanken Model-Klassen arbeitet. Selbst wenn du von C# oder VB keine Ahnung hast, kannst du da mal das Tutorial anschauen. Man kann das nicht direkt in PHP umsetzen, weil ASP.NET das in PHP nicht vorhandene Attribute-Konzept nehmen kann, um die Validierungsinformation an die Datenklassen anzuhängen, aber wenigstens ein Gefühl kann man bekommen, wie das generell arbeitet.

dedlfix.