2013-06-04 3 views
-1

J'utilise showErrors dans la validation du formulaire jquery pour afficher un message d'erreur en haut du formulaire. À un moment je veux afficher un message d'erreur. Dans ma forme name,email,url and comment quatre champs disponibles. Si l'utilisateur clique directement sur le bouton Soumettre sans entrer de données que d'afficher l'erreur pour le champ name mais lorsque l'utilisateur se concentre sur les champs email, il remplace le message d'erreur pour name et email.Écraser le message d'erreur Jquery lorsque vous cliquez deux fois sur le bouton d'envoi

Jquery: -

$(document).ready(function(){ 
    $("form").validate({ 
    messages: { 
     name: "Please specify your name.", 
     email: { 
      required: "We need your email address to contact you.", 
      email: "Your email address must be in the format of [email protected]" 
     }, 
     url: "A valid URL, please.", 
     comment: "Please enter your comment." 
     }, 
    showErrors: function(errorMap, errorList) { 
      if(errorList.length) { 
       $("span").html(errorList[0].message); 
      } 
     } 
    }); 
}); 

Voici violon: - http://jsfiddle.net/roop1886/q64VE/

+2

Vous affichez uniquement 'errorList [0]', de sorte qu'il ne peut afficher qu'une seule erreur. – Barmar

+0

oui je veux afficher un message d'erreur à la fois. – Roopendra

+0

Lorsque vous êtes dans un champ et que celui-ci est en cours de validation, 'errorList' contient uniquement l'erreur de ce champ. – Barmar

Répondre

0

Solution: - J'ai ajouté focusInvalid: false, suggéré par @Barmar en fonction $("form").validate().

$(document).ready(function(){ 
    $("form").validate({ 
    focusInvalid: false, 
    messages: { 
     name: "Please specify your name.", 
     email: { 
      required: "We need your email address to contact you.", 
      email: "Your email address must be in the format of [email protected]" 
     }, 
     url: "A valid URL, please.", 
     comment: "Please enter your comment." 
     }, 
    showErrors: function(errorMap, errorList) { 
      if(errorList.length) { 
       $("span").html(errorList[0].message); 
      } 
     } 
    }); 
}); 
Questions connexes