2010-01-20 11 views
1

Modifier utilisateur et effacer utilisateur sont des boutons séparés.Comment faire pour supprimer les messages d'erreur de validation Jquery sur le clic du bouton Effacer

Ensuite, comment va effacer le message d'erreur sur le clic de Clear Button en utilisant l'instruction suivante validator.resetForm(); ?

function clearUser(){ 
     // Need to clear previous errors here 
} 


function editUser(){  
    var validator = $("#editUserForm").validate({ 
      rules: {        
       userName: "required" 
     }, 
     errorElement: "span" ,     
     messages: { 
      userName: errorMessages.E2 
     } 
     }); 

    if(validator.form()){ 
     // form submition code 

    } 
} 

Répondre

3

juste la rendre globale, par exemple:

var validator; 
$(document).ready(function() { 
     validator = $('#editUserForm'); 
}); 

function clearUser(){ 
     validator.resetForm(); 
} 

function editUser(){  
    validator.validate({ 
      rules: {        
       userName: "required" 
     }, 
     errorElement: "span" ,     
     messages: { 
      userName: errorMessages.E2 
     } 
     }); 

    if(validator.form()){ 
     // form submition code 
    } 
} 

alors vous devez éliminer le var dans editUser().

BTW - vous pouvez faire:

function clearUser(){ 
     var validator = $('#editUserForm'); 
     validator.resetForm(); 
} 
+0

Pas une solution parfaite ... Devrais-je répéter la même chose var validator = $ ('# editUserForm'); dans le bouton Effacer? – Vicky

+0

vous pouvez ... mais vous n'avez pas besoin ... vous pouvez également utiliser ma première approche, qui prend une variable globale ... –

+0

Son fonctionne bien mais est-ce qu'il y a un autre moyen? – Vicky

7

J'ai essayé la solution, mais je trouve qu'il ya une erreur Litle dans la solution précédente, vous devriez le faire

Lorsque vous validez votre formulaire, vous obtenir le validateur comme celui-ci

var jqueryValidator = jQuery ("# myForm") valider().

et quand vous devez réinitialiser le formulaire que vous invoquez juste le code comme celui-ci

jqueryValidator.resetForm();

Bonne journée =) J'espère pouvoir vous aider.