2010-10-12 4 views
0

J'utilise le plugin validate jquery, en combinaison avec certains types de champs personnalisés (boîtes de sélection personnalisées)comment personnaliser la position du message d'erreur pour chaque champ de jquery validate du plugin

de comportement par défaut du plugin de validation jquery est d'insérer l'élément de message d'erreur, juste après l'élément de formulaire. bien que cela rende le message d'erreur entre l'élément de sélection masqué et l'élément ul remplacé pour la fonctionnalité de boîte de sélection personnalisée.

J'ai trouvé l'option: 'errorLabelContainer mais qui place toutes les erreurs dans ce conteneur.

Je cherche une solution pour placer l'étiquette d'erreur au-dessous de chaque élément de forme, (et ainsi, après les éléments de forme personnalisés comme ces fausses boîtes de sélection), et pas l'option de position de custuom qui place toutes les erreurs dans le même conteneur .

si cela impliquerait de les déplacer manuellement après chaque déclenchement d'erreur, je préfère avoir une solution propre première

+0

très similaire à cette question http://stackoverflow.com/questions/2908806/jquery-validate-plugin-get-more-control –

Répondre

2

Vous pouvez utiliser l'option errorPlacement pour cela, par exemple:

$("#myform").validate({ 
    errorPlacement: function(error, element) { 
    error.insertAfter(element.parent()); 
    } 
}); 

Je Je ne suis pas sûr de ce que "ci-dessous" signifie dans votre code, mais c'est sans doute l'option de votre après, il est appelé pour chaque élément, et vous pouvez remplacer l'erreur par rapport à l'élément que vous voulez. Le par défaut pour cette option est error.insertAfter(element);, le faisant apparaître juste après l'élément.

+0

oui, c'est exactement ce que je cherche, ci-dessous peut signifier tout ce que je peux changez le html pour qu'il ne soit pas inséré après le parent, mais il ressemblera plus à appendTo (parent) car c'est le dernier élément du LI je peux utiliser les propriétés css clear pour le faire apparaître sous l'élément. Merci beaucoup pour cela! – Sander

+0

@Sander - bienvenue :) –

Questions connexes