33 votes

Comment puis-je personnaliser la validation discrète dans ASP.NET MVC 3 pour correspondre à mon style?

La validation par défaut dans MVC 3 est basé sur jQuery de Validation, dont je peux habituellement personnaliser avec quelque chose comme:

$.validator.setDefaults({
  submitHandler: function() { alert('submitHandler'); },
  errorPlacement: function(error, element) {
    // do something important here
    alert('errorPlacement');
  },
  errorClass: "error",
  errorElement: "input",
  onkeyup: false,
  onclick: false
})

Mais, cela ne semble pas fonctionner dans MVC 3. Plus précisément, errorPlacement ne jamais être appelé et je n'ai aucune idée pourquoi. Je vais chercher le submitHandler appelé, mais jamais errorPlacement.

Comment puis-je personnaliser la validation pour correspondre quelle que soit la structure/le style que j'ai besoin pour mon style du site? La valeur par défaut est grande, mais il ne fonctionne pas toujours dans chaque situation.

46voto

Felipe Leusin Points 4583

Dans mon code au lieu d'utiliser $.validator.setDefaults j'accède au validateur de formulaire en utilisant $("#form_selector").data('validator') , puis je modifie les paramètres.

 var validator = $("#form_selector").data('validator');
validator.settings.errorPlacement = function(error,element) {
    alert('errorPlacement');
};
 

Voyez si cela fonctionne pour vous.

40voto

Chris Barr Points 3568

J'ai eu le même problème, mais j'ai réalisé que le plugin discret provoquait en fait le problème, il remplacera toutes les options que vous définissez! L'astuce consiste à faire écrire / inclure votre code dans l'ordre suivant:

  1. Le plugin de validation
  2. Votre code personnalisé et vos options
  3. Le plugin discret

Toute autre commande et cela ne sera pas réglé correctement!

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