2010-01-11 6 views
0

J'utilise le plugin jQuery Validator avec succès sur un formulaire. Ce formulaire est un widget, donc les contraintes d'espace sont serrées. Pour cette raison, je ne veux pas afficher les messages d'erreur normaux après chaque champ de formulaire qui ne valide pas. Plutôt, pour chaque champ de formulaire, j'ai une étiquette, et à l'intérieur des étiquettes des champs obligatoires, j'ai un <em> avec le texte '(requis)' dedans. Si l'utilisateur essaie de soumettre sans remplir tous les champs, j'ajoute .css('color', '#F00') aux <em> s des champs vides, pour mettre en évidence quels champs doivent être remplis. Cela fonctionne très bien, jusqu'à présent.Plugin jQuery Validator - mise à jour des messages d'erreur personnalisés

Maintenant, ce que je dois savoir est, quel événement dois-je utiliser pour mettre un <em> en noir si l'utilisateur entre des données dans le champ requis associé?

Je change les <em> s au rouge comme celui-ci, actuellement:

errorPlacement: function(error, element) { 
    jQuery(element).prev().children('em').css('color', '#F00'); 
} 
+0

Juste un petit côté: beaucoup de personnes daltoniennes ne seront pas en mesure de faire la différence entre le texte rouge et noir. –

+0

Merci, Jeff. J'ai l'intention de montrer un message général en plus du texte rouge, donc le texte rouge n'est pas le seul indicateur que certains champs obligatoires ont été laissés en blanc. – Tex

+0

Ouais, je dois apprendre à lire - j'imagine que la note "(obligatoire)" devrait alerter même les plus durs. :) –

Répondre

1

Peut-être à regarder en utilisant les options fort/- Ne pas surligner ceux-ci semblent être conçus pour faire le genre de chose qui vous intéresse Les appels du plugin se mettent en surbrillance lorsqu'une condition invalide se déclenche, puis appelle automatiquement unhighlight lorsque l'utilisateur corrige l'entrée invalide.

Vous devrez peut-être spécifier errorPlacement, si ce n'est que pour empêcher le formulaire d'extension d'afficher le message d'erreur standard.

+0

Merci Drew, c'était tout. J'ai lu quelques fois les docs, mais j'ai mal compris le but de mettre en surbrillance/unhighlight. – Tex

Questions connexes