11
votes

Quelle bibliothèque de validation pour asp.net mvc?

J'essaie de décider de l'approche de validation à prendre pour un nouveau projet ASP.NET MVC. (Et wow il y a beaucoup d'options!)

Le projet utilise NHibernate, la première chose que j'ai considérée était le validateur de NHibernate (en raison de l'intégration serrée avec NHibernate). Cependant, autant que je sache, il n'y a que quelques avantages à cette intégration serrée:

1) Les schémas db générés par NHibernate comprendront des détails sur la validation (par exemple, des longueurs de colonne seront définies sur une valeur maximale autorisée dans la validation). (Cela ne m'intéresse vraiment pas vraiment, car je génère des schémas manuellement.)

2) NHibernate lancera une exception si vous essayez de sauvegarder des données qui ne répondent pas aux spécifications de validation. (Cela me semble assez redondant, car les données seront probablement déjà validées par le mécanisme que vous choisissez avant d'économiser de toute façon)

S'il y a plus d'avantages au validateur NHibernate, laissez-moi savoir!

Autres bibliothèques que je lisais un peu à propos de:

  • MS DataNannotations
  • Validator Castle
  • autre chose d'autre?

    J'ai également pensé à utiliser XVal pour fournir une validation du côté client à partir du même ensemble de règles. Cependant, j'entends que ASP.NET MVC V2 comprendra quelque chose de similaire à XVal (intégration avec jQuery) hors de la boîte? Cette nouvelle fonctionnalité inclura-t-elle certaines des autres redondantes?

    Donc, je demande essentiellement les conseils des gens sur quelle direction prendre ici. Je ne veux pas mettre en œuvre un schéma particulier, seulement avoir à le déchirer quand un autre devient la technologie dominante.

    Qu'est-ce qui a fonctionné pour vous? Quelle option pensez-vous avoir / aura le bord?

    merci!


0 commentaires

4 Réponses :



1
votes

1 commentaires

Ouais, cela ressemble à ce qu'il s'agisse du choix par défaut en v2 ne le fait-il pas. Je me demande si ce n'est que si c'était la voie MS avec des annotations de données, plutôt que de réelles meilleures pratiques.



10
votes

J'ai utilisé fluentvalidation avec JQuery Validation Plugin et ne peut toujours pas trouver une situation qu'ils ne peuvent pas gérer.


4 commentaires

Cela semble très intéressant, merci d'avoir posté. Je vais faire un look plus profond plus tard - Premier coup d'œil semble que cela pourrait être valable pour la validation des règles d'entreprise. La validation de données de base peut être un peu plus verbeuse, mais pas une grosse affaire. Savez-vous comment bien cette configuration gère l'internationalisation?


Pour I18N, vous pouvez mettre tous les messages dans un fichier de ressources et les utiliser dans la méthode FLUENTVALIDATION SANSAGES.


J'ai accepté cela comme la réponse, car c'est une bibliothèque que je n'ai pas vue auparavant. Ça a l'air bien et je cherche à l'implumer maintenant.


Darin, avez-vous des informations que vous partageriez sur la manière d'intégrer la validation fluentevalidation et jQuery? À titre d'exemple, j'imagine que ce serait bien d'utiliser les mêmes messages pour les règles validées sur les côtés du client et du serveur.



1
votes

Vous pourriez être intéressé par cet approche délégué . J'étais parce que je ne l'ai pas aimé l'idée xVal (la solution im va actuellement avec) et le fait qu'il ne semble pas répondre aux cas complexes de validation qui ont traversé plusieurs propriétés identiques ou même différentes structures de classe.


0 commentaires