Valider plusieurs formulaires sur la même page

Par exemple, j’ai 3 formulaires dans une page avec les mêmes noms. Comment puis-je valider tous ces formulaires avec une seule méthode de validation?

Je souhaite valider uniquement le formulaire soumis, mais pas tous en même temps.

 $('#formID').validate({ }) 

Ma solution ne fonctionne pas. Je trouve également que je ne peux pas append différents identifiants car ces formulaires sont dans une boucle PHP et qu’il doit avoir le même identifiant.

Voici la solution pour valider plusieurs formulaires sur une seule page:

   

Ça marche pour moi. J’ai écrit ce code pour 5 formulaires dans une seule page.

Lorsque vous devez appliquer la même méthode .validate() à plusieurs formulaires, vous avez simplement besoin d’un .each() jQuery .each() et vous pouvez tous les cibler en même temps à l’aide de la balise de form .

 $('form').each(function() { // <- selects every 
on page $(this).validate({ // <- initialize validate() on each form // your options // <- set your options inside }); });

DEMO: http://jsfiddle.net/K6Tkn/


Citation OP:

"Je trouve également que je ne peux pas append différents identifiants car ces formulaires sont dans une boucle PHP et qu'il doit avoir le même identifiant."

Ensuite, votre boucle PHP n'est pas construite correctement. Chaque id sur une page doit être unique ou le balisage HTML n'est pas valide . Vous pouvez simplement utiliser class au lieu de id . Sinon, s'il n'y a pas d'autres éléments

sur la page, vous pouvez tous les cibler avec $('form') comme dans la démonstration ci-dessus.

J’ai créé du violon pour vous. Ajoutez des identifiants si vous en avez vraiment besoin.

La clé consiste à append la même classe aux formulaires et à valider chaque formulaire.

 $('form.validateForm').each(function(key, form) { $(form).validate(); }); 
     " rel="stylesheet" /> "> "> ">    
 inspired by the answer of @Irshad Khan ,hope it may help others. Apply data-rule-required="true" to required html inputs then in jquery $('form').submit(function (e) { e.preventDefault(); var clikedForm = $(this); if (clikedForm.valid()) { alert('valid'); } else { alert('not_valid'); } }); 

Insérez simplement le code ci-dessous sur votre page et utilisez autant de formulaires que vous le souhaitez.