39 votes

Comment supprimer la validation jQuery d'un formulaire ?

J'utilise le plugin de validation jQuery pour valider un formulaire, et j'aimerais supprimer la validation et soumettre le formulaire si un certain lien est cliqué.

Je soumets le formulaire avec javascript comme jQuery('form#listing').submit() Je dois donc supprimer les règles/fonctions de validation avec javascript.

Le problème est que je n'arrive pas à trouver comment faire. J'ai essayé des choses comme jQuery('form#listing').validate({}); et jQuery('form#listing').validate = null mais sans succès.

68voto

Jörn Zaefferer Points 3798

Déclencher la méthode DOM submit pour sauter la validation :

$("#listing")[0].submit();

34voto

Borgar Points 12493

Vous pouvez supprimer les événements des nœuds avec délier :

jQuery('form#listing').unbind('submit'); // remove all submit handlers of the form

Ce que vous recherchez probablement, c'est que le plugin de validation puisse également se désassigner de l'événement submit :

jQuery('form#listing').validate({
   onsubmit : false
});

Dans les deux cas, vous devez être en mesure d'effectuer un suivi en appelant les services suivants .submit() pour soumettre le formulaire :

jQuery('form#listing').unbind('submit').submit();

20voto

Gaurav Jain Points 71
var form = $('#my_form_id').get(0);
$.removeData(form,'validator');

Ça marche vraiment.

7voto

redsquare Points 47518

Vous pouvez ajouter une classe css d'annulation à un élément (bouton, entrée) pour qu'il ignore la validation.

6voto

alby Points 31

Je n'ai trouvé aucune des autres méthodes utiles si vous souhaitez activer/désactiver la validation de vos formulaires (par exemple, une validation différente pour les types de paiement...).

Ce que j'ai dû faire (ce n'est pas une bonne solution mais ça marche)

Mettez en place votre validation :

jQuery('#form').validate();

Désactiver le formulaire :

jQuery('#form').validate().currentForm = '';

Réactivation du formulaire :

jQuery('#form').validate().currentForm = jQuery('#form')[0];

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