2011-10-31 2 views
-1

Mes connaissances CSS sont un peu limitées.Emplacement de l'erreur jquery.validate

voudrais souligner l'étiquette gauche div lorsqu'une erreur se produit dans div droite

messages: { 
    userID: "" 

}, 
errorElement: "span",  
    errorPlacement: function(error, element) {   
    element.siblings("label").append(error);  
    },  
    highlight: function(element) {   
    $(element).parent().children("div.left label").addClass("error");  
    },  
    unhighlight: function(element) {   
    $(element).parent().children("div.left label").addClass("error");  
    } 


<div class="left"> 
<label for="userID">Username:</label> <br /> 
</div> 
<div class="right">  
<input type="text" name="userID" id="userID" onkeyup="nospaces(this)" maxlength="15" onBlur="checkUID(this)" onKeyPress="hideWarning()"> 
</div> 

Actuellement « rien » se produit, aucune erreur, aucun point fort. Je ne sais pas comment modifier le script errorPlacement pour se conformer. Thx donc très mch.

Répondre

0

Si vous voulez que toutes les étiquettes à mettre en avant avec la classe d'erreur, utilisez la fonction setDefaults():

if (jQuery.validator) { 
    jQuery.validator.setDefaults({ 
     /* Place error labels below invalid fields */ 
     errorPlacement: function(error, element){ 
      $('label[for=' + element.attr('id') + ']').addClass("error"); 
     } 
    }); 
} 

$('#commentForm').validate(); 

http://jsfiddle.net/iknowkungfoo/dvyqN/1/

+0

Oy, je ne suis évidemment pas habitué à ce forum .... Je n'ai pas vu votre commentaire, cela va fonctionner. Je vous remercie! – user1022348

0

changement

$(element).siblings("label").addClass("error"); 

à

$(element).parent().children("div.left label[for='password']").addClass("error"); 

Cela permet de sélectionner l'étiquette quand il est dans la div gauche. Faites de même pour .removeClass(). Enfin, vous pouvez également être moins spécifique avec le sélecteur et utiliser simplement div.left label au lieu de div.left label[for='password'] si vous voulez que la règle s'applique généralement à tous les champs.

+0

Parfait. Merci beaucoup. – user1022348

+0

Aucun problème. Assurez-vous également de fermer votre balise '

+0

Merci encore !!! – user1022348

Questions connexes