2009-03-24 4 views
2

ich bin in diesem Augenblick für die modell Basis Validierung für ein ASP.net Projekt von zwei Möglichkeiten denken, ich bin ab:Optionen für asp.net MVC Validation Framework

xVal (Steve Sanderson Projekt) und der Enterprise-Modul dass Stephen Walther auf this page

verwendet Ich weiß nicht wirklich genug, um über die Vorlieben zu sprechen, wie ich sie noch nicht benutzt habe. Irgendwelche Ideen?

Update Mit LinqToSql für ORM jetzt, aber bin offen für Änderungen.

Antwort

5

Ein Unterschied, den ich bei der Überprüfung der beiden sehe, ist, dass Stephen Walthers Blogbeitrag eine Bibliothek beschreibt, die nur Validierung auf dem Webserver durchführt, wo xVal auch mit jQuery-Validatoren arbeitet, um die In-Browser-Validierung durchzuführen. Diese Funktion ist übrigens fast vollständig automatisch.

0

Verwenden Sie ein ORM? Wenn ja, welchen verwenden Sie? Ich hatte viel Glück, wenn ich Castle ActiveRecord benutze, einfach mit ihrer Standard-Model-Level-Validierung. Wenn Sie das nicht verwenden, ist das wahrscheinlich nicht sehr hilfreich. :-)

1

Schamlos meine validation library fördern. Entwickelt für jQuery validieren Sie & Enterprise Library und arbeiten Sie aus der Box für genau das. Das heißt, Funktionalität und Code sind einfach genug, um zu modifizieren/erweitern, wenn Sie möchten.

1

Sie könnten auch diese neue Technik auf LosTechies http://www.lostechies.com/blogs/hex/archive/2009/06/10/opinionated-input-builders-for-asp-net-mvc-part-5-the-required-input.aspx Ich mag die Tatsache, dass Sie Eingaben globaly, die wirklich trocken ist. Sie könnten auch die clientseitige Validierung überspringen und ein jquery ajax-Formular an den Server senden, der das Validierungsmodell und die Geschäftslogik an einem Ort ausführt, was ebenfalls DRY ist :) Außerdem bedeutet es, dass Sie das Produkt schneller aus der Tür bekommen und Sie können später die clientseitige Validierung als Bonus hinzufügen oder die Formulare schrittweise erweitern.

1

Eine weitere Abstimmung für xVal. Es ist wirklich süß. Ich verwende gerne Buddy Classes und DataAnnotations, um die Validierung zu heben. Abgesehen davon, dass Dinge mit Linq2Sql funktionieren, da Sie Ihren Feldern keine Attribute hinzufügen können, geben Buddy-Klassen eine gewisse Flexibilität, damit mehrere Modelle dieselben Validierungsinformationen verwenden können. Es ist wirklich praktisch für die ModelEditData-Klassen, die immer notwendig scheinen.