2012-01-24 2 views
0

Pour MVC 3.0 -Client La validation sur le contenu dynamique fonctionne correctement dans IE avec une ligne inférieure.jquery.validate.unobtrusive Ne fonctionne pas avec Firefox/Chrome

$.validator.unobtrusive.parse() 

Mais ce n'est pas le cas lorsque firefox/chrome. S'il vous plaît suggérer une solution de contournement.

+0

Quelle version de 'IE' et' JQuery Validation' utilisez-vous? – gdoron

+0

J'utilise IE 8, et Jquery 1.5.1 –

Répondre

2

Vous ne semblez passer aucun argument à la fonction d'analyse. Vous devez lui passer un sélecteur qui contiendra tous les nouveaux éléments ajoutés avec AJAX. Dans le pire des cas:

$.validator.unobtrusive.parse(document); 

Mais il serait préférable de spécifier un conteneur:

$.validator.unobtrusive.parse('form'); 

ou:

$.validator.unobtrusive.parse('#someContainer'); 

Aussi il y a une chasse aux sorcières. Si vous n'actualisez pas l'élément <form> qui contient les éléments nouvellement ajoutés avec AJAX, c'est-à-dire que l'étiquette de formulaire ne fait pas partie du partiel, vous devrez d'abord supprimer les règles de validation précédentes associées à ce formulaire ou la méthode $.validator.unobtrusive.parse t faire quoi que ce soit:

$('form').removeData('validator'); 
$('form').removeData('unobtrusiveValidation'); 
$.validator.unobtrusive.parse('form'); 
Questions connexes