2009-12-07 7 views
2

Hé les gars merci d'avance pour toute votre aide! Je possède ce formulaire d'inscription qui est ensuite validé par les validate.js « de bassistance »:jQuery Validation sur le succès

$('#pForm').validate({ 
     rules: { 
      fname: "required",// simple rule, converted to {required:true} 
     lname: "required", 
     accType: "required", 
     country: "required", 
      email: {// compound rule 
       required: true, 
       email: true 
       }, 
     city: "required" 
     }, 
     success: function(){ 
      $('#pForm').hide('slow'); 
      $('#accForm').show('slow'); 
         } 
});//form validate 

Maintenant, la validation fonctionne bien ... sauf l'étiquette de succès (que j'ai ajouté) ... donc, bien qu'il dise que les champs sont obligatoires, il va de l'avant et lit le code sous "succès" dès que je change un champ. Des idées comment je peux contourner celui-ci? Oh ... et y at-il un type de balise "onFailure" est jQuery?

Répondre

5

Semble votre succès: rappel est mal défini, il doit avoir un argument de chaîne comme décrit dans le documentation:

succèsString, Callback
Si cela est spécifié, l'étiquette d'erreur est affiché pour montrer un élément valide. Si une chaîne est donnée, elle est ajoutée en tant que classe à l'étiquette. Si une fonction est donnée, elle est appelée avec le label (en tant qu'objet jQuery) comme seul argument. Cela peut être utilisé pour ajouter un texte comme "ok!".

Est-ce que cela fonctionne lorsque vous fournissez une simple chaîne de nom de classe à la place du rappel?

+0

bien .. Je viens de l'essayer en lui donnant une chaîne "OK" et cela a fonctionné ... mais je ne suis pas sûr de ce que vous entendez par "chaîne de nom de classe .. Y at-il un moyen que je peux appeler – uran

+0

Lorsque vous avez fourni la chaîne "OK", elle applique la classe "OK" à tous les éléments suivants: Essayez de rendre votre callback défini comme success: function (string) {...} et voyez si cela fonctionne. – r00fus

Questions connexes