46 votes

jQuery validate ne valide qu'un seul champ

Je suis à l'aide de jQuery valider pour valider un formulaire. J'ai deux zones de texte sur mon formulaire et que seule la première on ajoutera les "Ce champ est obligatoire". message. Si je supprime le "nécessaire" de la classe à partir de la première, la seconde pour le message.

html:

<form id="questionForm">
<div><input class="required" id="value" type="text" /></div>
<div><textarea class="required" id="description"></textarea></div>
<button type="submit">Save</button>
</form>

javascript:

$("#questionForm").validate({ submitHandler: function() { 
        alert("valid");
    } 
});

Pourquoi est-ce qu'un seul être validé?

Edit: je suis en utilisant jQuery validation plug-in de 1,7

Edit 2: je suis en utilisant MVC 3

128voto

Jay Points 586

Je viens de rencontrer ce problème moi-même. J'ai arraché mes cheveux pendant une heure, mais voici:

Ajoutez-y également l'attribut "nom" et cela pourrait faire l'affaire.

2voto

Sulabh Singla Points 1

Vous devez saisir l'attribut name pour chaque élément DOM que vous souhaitez valider à l'aide de la fonction Jquery.validate() .

1voto

Oliver Spryn Points 4735

Sans savoir quel plugin de validation vous utilisez, il est difficile de résoudre le problème. Cependant, il semble que jQuery ne passe pas en boucle dans chacun des champs, mais il s'arrête lorsqu'il atteint un champ non valide. Essayez d'utiliser la méthode jQuery $.each() et d'utiliser certaines conditions pour vous assurer que le processus de validation ne s'arrête pas lorsque le validateur atteint un champ non valide.

J'espère que cela pourra aider,
spryno724

1voto

Joshua - Pendo Points 1506

Je pense que l'alerte bloque la validation des deux champs. Après 1 alerte, le reste du javascript s'arrête. Que se passe-t-il si vous utilisez $('#questionForm').validate(); place?

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