2010-12-06 23 views
1

Bonne journée! J'utilise ASP.NET MVC 2.0 avec la validation du serveur (DataAnnotations + IDataErrorInfo pour les classes ViewModel).Pont entre la validation du serveur ASP.NET MVC 2 et le plugin de validation jQuery

Je peux écrire ma validation client à la main en utilisant le plugin de validation jQuery (cela fait des années que je l'ai fait :)) et c'est la seule approche quand je peux obtenir une validation client très intelligente. Cependant, dans la plupart des cas, il sera intéressant d'appliquer directement les règles du serveur à la validation du client. Je l'ai regardé ici: http://haacked.com/archive/2009/11/19/aspnetmvc2-custom-validation.aspx mais il semble beaucoup de code pour une telle tâche commune

Questions (enfin):

  • Quelle est la meilleure solution?
  • ASP.NET MVC 3 va-t-il apporter quelque chose dans ce domaine?

Merci!

Répondre

0

Il n'y a pas de magie ici. Si vous effectuez une validation personnalisée sur votre serveur, vous devez le traduire dans le cadre de validation client que vous utilisez. Que faire si vous interrogez un serveur distant pour effectuer une validation métier. Comment diable voulez-vous que le client sache cela? Et non, ASP.NET MVC 3 n'apporte rien de nouveau dans ce domaine. Ce que ASP.NET MVC 3 apporte est unobtrusive validation pour des règles simples et que jquery valide le plugin de validation côté client par défaut. Voici un autre nice article à ce sujet. En passant, je vous recommande de regarder FluentValidation. Il a un grand integration with ASP.NET MVC.

+0

Je veux dire au moins la prise en charge des attributs standard de DataAnnotations (Required, Regexp, E-mail, etc.) jQuery validate semble avoir tous ces attributs. Est-ce possible sans trop de code? – artvolk

+0

Oui, les attributs standard sont tous pris en charge. Juste '<% Html.EnableClientValidation(); %> 'à votre avis. Ce que ASP.NET MVC 3 apporte à l'image est [validation discrète] (http://weblogs.asp.net/mikaelsoderstrom/archive/2010/10/06/unobtrusive-validation-in-asp-net-mvc-3. aspx). Il utilise les attributs HTML5 'data- *' dans vos champs de saisie pour indiquer au plugin 'jquery.validate' les règles à appliquer. –