4 votes

Validation du modèle C# - Bloc d'application de validation ou DataAnnotations ?

Je souhaite ajouter des attributs de validateur à mes modèles de domaine (dans une application ASP.NET MVC), et j'essaie de choisir entre deux cadres, le bloc d'application de validation et DataAnnotations. Ils semblent effectuer des tâches similaires, et je veux donc choisir celui qui sera le plus soutenu/utilisé à l'avenir. Il semble que DataAnnotations soit plus récent (et intégré au framework à partir de 3.5 SP1), alors pensez-vous que le bloc d'application de validation deviendra obsolète ?

[Marqué comme Wiki communautaire car ceci est subjectif].

7voto

Paul Redman Points 123

Je me suis également posé cette question et j'ai récemment décidé d'utiliser Enterprise Library. J'ai pu utiliser une combinaison de l'Unity Framework et du bloc de validation pour attribuer et valider mes classes et méthodes sans trop de difficultés. Les deux frameworks sont inclus dans EntLib.

En ce qui concerne le support continu, la prochaine version d'Enterprise Library est actuellement en bêta 2 (EntLib 5.0) et devrait sortir à la mi-avril. Vous pouvez accéder à la version bêta actuelle ici, http://entlib.codeplex.com/wikipage?title=EntLib5%20Beta2 .

En outre, après avoir lu le journal des modifications de la version 5, j'ai remarqué que la prise en charge des DataAnnotations est également incluse.

"Support pour le cadre .NET System.ComponentModel.DataAnnotations attributs d'annotation de données a été ajouté au bloc, et les validateurs peuvent être utilisés partout où vous utiliseriez un attribut d'annotation de données. Pour plus d'informations informations, voir Utilisation des attributs dans le fichier CHM inclus".

http://entlib.codeplex.com/wikipage?title=EntLib5Beta2ChangeLog&referringTitle=EntLib5%20Beta2#lab


Il semble donc que Enterprise Library continuera à être pris en charge.

3voto

Steven Points 56939

MVC2 prendra en charge plusieurs cadres de validation. Pour citer le grand Scott Guthrie "Les fonctions de validation d'ASP.NET MVC 2 sont conçues pour faciliter l'intégration de tout type d'architecture de validation".

Comme DataAnnotations utilise une approche basée sur les attributs, le bloc d'application de validation ne sera pas obsolète, car il prend également en charge une approche basée sur la configuration et la validation de plusieurs ensembles de règles, ce qui est utile dans de nombreux scénarios. Vous pouvez vous attendre à ce qu'une future version du VAB ait un support intégré pour MVC 2.

MISE À JOUR : Dans la dernière version du Validation Application Block, la version 5, les attributs de validation du VAB héritent de l'attribut de validation de base de DataAnnotations. Cela signifie que le VAB est maintenant construit directement sur DataAnnotations et les applications qui peuvent gérer DataAnnotations peuvent également gérer les attributs définis par le VAB.

2voto

jfar Points 19380

Les DataAnnotations sont prises en charge par MVC 2 et Asp.net 4.0 DynamicData. Je dirais que le bloc d'application de validation va devenir obsolète.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X