gängiges Szenario arbeiten:Bewährte Verfahren zur Vermeidung von Doppelvalidierungslogik, wenn mit beiden Domänenobjekten und Ansicht Modelle in ASP.NET MVC
Hierarchisch Domain-Modell ist für Präsentationszwecke zu flache Ansicht Modell abgebildet werden.
Ich habe ein komplettes Validierungssetup in meiner Domäne und möchte das Mapping des Ansichtsmodells zum Domänenobjekt vermeiden, nur um herauszufinden, dass eine Eigenschaft ungültig ist. Ich möchte auch nicht meine Validierungslogik in meinen View-Modellen duplizieren.
Was sind einige gute Praktiken hier?
Ich bin gegen Schnittstellen sowohl für Ansichtsmodelle als auch für Domänenobjekte, da Ansichtsmodelle normalerweise streifig und flach sind, während Domänenobjekte oft verschachtelt sind und viele andere Datentypen für Eigenschaften haben.
Ich denke über einen Pluggable-Validator nach, der schlau genug sein wird, um sowohl Domain-Objekte als auch View-Modelle zu validieren, aber ein wenig skeptisch bezüglich der Implementierung.
Aber der Einfachheit halber ich bin Neigung zu diesem Ansatz:
Server-seitige Validierung nur in Domänenmodell geschieht; Ansichtsmodelle werden nicht validiert, aber Daten werden auf dem Client mit JavaScript validiert. In den meisten Fällen sind meine Ansichtsmodelle gültig und die Validierungslogik bleibt an einem Ort und wird nur im Domänenmodell auftreten. Dieser Ansatz hat den Nachteil, dass die asp.net mvc 2-Validierung dies nicht unterstützen kann. Was denkst du?
Danke.