Frage

Wo soll residieren Validierung, wenn Viewmodel mit MVC (MVVM) verwendet, auf dem Modell oder das Viewmodel? (Oder beides oder keines von beiden)? Und warum? Ich erwähne dies, insbesondere im Hinblick auf V2 von ASP.NET MVC bald herauskommen.

Was ist komplex / benutzerdefinierte Validierung?

War es hilfreich?

Lösung

Jedes Unternehmen spezifische Validierung soll im Modell. Jede Website spezifische Validierung konnte sowohl im Modell und / oder Ansichtsmodell erfolgen. Auf diese Weise Ihrer Business-Logik (Modelle) kann hinter einer anderen Schnittstelle (Windows, Web Forms, etc.) und die Validierung bewegen bleibt intakt.

Andere Tipps

Ich würde sagen, es ist oft auf allen Ebene zu bestätigen ist erforderlich:)

Ich war eine Zeit lang über folgende denken:

  1. Benutzereingabe Validierung: auf jeden Fall auf dem Controller, nicht auf jede Art von Modell. Beispiel:. Check Captcha
  2. Ansicht bezogenen Daten auf dem Ansichtsmodell validiert (nicht im Ansichtsmodell, sondern auf das Ansichtsmodell). Beispiele:. Passwort Bestätigung Erforderlich E-Mail
  3. Geschäftsregeln Validierung geht definitiv in Modellvalidierung. Beispiele:. Erforderlich E-Mail Discount Coupon gültig sein sollte
  4. Potenziell Use Case (Geschichte, Szenario etc) Validierung. Es nicht überprüft die Attribute, sondern bestätigt die Richtigkeit des gesamten Prozesses. Sollte gehen Validierung (oder besser in einer separaten Ebene) zu modellieren. Beispiel: Nur 3 Artikel können kostenlos während einer Woche erreicht werden, wenn kein Auftrag gewesen setzt für den angegebenen Zeitraum .

Hinweis: I umfasste die Erforderlich E-Mail in beide 2 und 3, wie es oft hängt, wo es hingehört
. Wenn die E-Mail nur informativ Rolle spielt - dann kann die Validierung entspannt sein und es zu dem Ansicht-Modell drücken. Wenn E-Mail eine starke Voraussetzung für die Anwendung ist - es ist auf jeden Fall der Modellvalidierung.

Die vierte Sache hat eigentlich nichts mit Validierung zu tun, wie wir sie verstehen.
Aber es sollte auch angewendet werden. So das Ergebnis sollte Benutzer angezeigt werden.

Grundsätzlich sind alle vier Arten von Validierung kann die gleiche Infrastruktur nutzen. Aber die Umsetzung ist abhängig:) ...

Cheers,
Dmitriy.

Modell. Ihre Validierung sollte in Ihrer Business-Schicht sein. Ihre Ansicht Modell für immer Ihre Ansicht eingerichtet werden, nur sollte.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top