2009-08-11 7 views
4

Un certain nombre de questions ont été posées sur ce sujet avant, mais depuis ASP.NET MVC est en mouvement je voulais assez vite à nouveau poser la question suivante:options de validation d'entrée dans le formulaire ASP.NET MVC 1.0+

Qu'est-ce que recommanderiez-vous de fournir la validation d'entrée de formulaire dans ASP.NET MVC?

Exigences:

  • côté serveur vérification
  • vérification
  • côté client (JavaScript) devrait couvrir les bases telles que les champs obligatoires, la validation de la plage numérique, validation regex

(Donc, fondamentalement tout (ou la plupart) des choses que le ASP.NET WebForms validation controls fait)

Les options actuelles semblent être:

  1. Validator Toolkit on CodePlex
  2. Jumping to ASP.NET MVC 2 Preview 1 (Notre application est à usage interne et go-live est en 6 mois, donc nous pourrions être à l'aise avec l'aperçu)

Répondre

2

Je voudrais utiliser DataAnnotations, va faire partie de MVC mais peut être compilé et utilisé dans 1.0.

http://www.asp.net/learn/mvc/tutorial-39-cs.aspx

/M

+1

Je n'aime pas les classes Buddy - elles violent DRY: http://ayende.com/Blog/archive/2009/05/04/the-buddy-classes-are-drowning-dry.aspx – Martin

+1

Plutôt que d'utiliser buddy classes nous avons un ensemble de classes ViewModel qui correspondent à nos modèles de données back-end (généralement ceux-ci proviennent d'une classe proxy WCF). Nous mappons les propriétés à l'aide d'AutoMapper (http://www.codeplex.com/AutoMapper) –

+1

Pouvez-vous citer un article indiquant que DataAnnotations fera partie intégrante d'ASP.NET MVC? L'article que vous liez indique qu'ils ne sont pas "officiels". –

7

xVal devrait être un bon choix dans votre cas.

+0

+ 1- bon choix. – RichardOD

+2

Malheureusement, la dernière mise à jour de la version était en février 2009. –

+0

Je suppose que Steven Sanderson était entre temps en train d'écrire son livre. J'espère qu'il continuera à travailler sur xVal. –

2

FluentValidation a également une composante MVC, mais il ne fait pas du côté client des choses. Idéalement, cela pourrait être intégré à xVal.

+0

C'est un bon. Je ne savais pas qu'il existait et je voulais l'implémenter moi-même. –

+0

Je viens de le regarder moi-même, et il y a en fait une xValIntegration existante dans le projet FluentValidation. Ce n'est pas complet, mais c'est un bon début. – Chris