2009-09-25 7 views
2

J'utilise le jQuery.validate() pour valider mon formulaire avant qu'il ne soit soumis. Maintenant que j'utilise Ajax pour soumettre mon formulaire, j'ai un problème.J'ai besoin de jQuery.validate pour empêcher la soumission du formulaire Ajax

Remarque: Je n'utilise pas le plugin de formulaire jQuery. Juste pour que ce soit clair :)

Le jQuery.validate() est déclenché, mais la soumission de formulaire est également exécutée.

Je ne veux pas que le formulaire soit soumis tant que le validateur n'est pas correct. Des suggestions de dieu sur la façon dont je peux accomplir cela?

MISE À JOUR

Je trouve la réponse. Je devais utiliser le submitHandler. Maintenant, mon formulaire est seulement soumis si tous les champs requis sont correctement remplis.

et voici comment:

if(jQuery('#my_form').length > 0) { 
    jQuery("#my_form").validate({ 
    rules: { 
     brand_name: "required", 
     brand_email: {email: true }, 
     brand_description: "required" 
    }, 
     submitHandler: function() { processRegistration(jQuery("#my_form").attr("id"), jQuery("#my_form").serialize()); } 
    }); 


} 

Répondre

1
jQuery('#registrationforms form').submit(function() { 
    if (processRegistration(jQuery(this).attr("id"), jQuery(this).serialize())) { 
    // do ajax thing 
    }; 
    return false; 
}); 
+0

donc je devrais mettre mon jQuery ("# store_data_form") valider() dans ce.? Parce que ça ne marche pas du tout. – Steven

+0

Que retourne processRegistration()? Cela devrait renvoyer le résultat de validate() (je présume vrai ou faux). – Eimantas

+0

Vous pouvez voir le processRegistration() son: http://stackoverflow.com/questions/1468605/jquery-dialog-box-not-opening-2nd-time – Steven

Questions connexes