2010-10-04 5 views
5

Welchen Teil im MVC werden Benutzereingaben validiert? Zum Beispiel, Benutzer-Registrierung-System, der Benutzer Daten in der Ansicht, wo wird die Eingabe des Benutzers gereinigt und validiert für die richtige Eingabe, z. Korrekte E-Mail, Anwendung von PHP-Reinigungsfunktionen ... würde dies im Controller oder im Modell passieren? und das würde entscheiden, welche Fehler zurückgegeben werdenMVC: Validiert das Modell oder der Controller die Benutzereingabe?

dank

Antwort

10

Gemäß dem klassischen MVC-Modell (grafische Anwendungen), ist eine Benutzereingabe ein Modell zu. Die meisten PHP-Framworks folgen dem Passive-MVC- oder MVC-2-Modell, bei dem es sich um die Domäne der Controller- oder Controller-Helfer handelt. Tun Sie, was am meisten wartbar aussieht.

+1

+1 für * Tun, was am meisten wartbar aussieht. * – Gordon

+0

ein weiteres +1, logisch :) danke – dre1080

2

Meiner Meinung nach ist es hängt alles davon ab, welche Art von Validierung möchten Sie ausführen:
1. Wenn Sie leer sein nicht ein Feld wollen oder in einem bestimmten Format sein, ich auf die, dass der Check tun Ansichtsebene Dies ist, wo die meisten Regex angewendet werden könnte. Nur wenn die Benutzereingabe gültig ist, ist dann, dass ich die Kontrolle an die Steuerung für weitere Geschäftslogik-Verarbeitung übergeben werde
2. Wenn ich sicherstellen möchte, dass eine Benutzereingabe (z. B. ein Benutzername)) ist einzigartig oder nicht, ich werde diese Validierung auf der Controller-Seite tun und eine beliebige Rückmeldung an die Ansicht zurückgeben. In diesem Fall könnte der Controller eine Abhängigkeit von einer Abstraktion einer Datenzugriffsschicht oder Dienstschicht oder von anderen Controller-Helfern haben.
3. Immer noch auf den Ansatz zu rationalisieren.

+0

+1 für diese..valid Punkte danke – dre1080

+0

Ich warte immer noch auf die +1. LOL. Sie sind willkommen. – walters

Verwandte Themen