2009-12-08 5 views
3

J'utilise le plugin de validation de jquery avec php sur ubuntu.Plugin de validation jQuery: Comment créer vos propres messages

Je demande la validation de mes formes comme ceci:

$(obj).find("form").validate(); 

Quand je mets « e-mail » en tant que classe d'un champ de texte et je donne une mauvaise adresse électronique formated, il montre l'erreur suivante comme celui-ci .

Please enter a valid email address. 

Question: message ci-dessus est très long et endommager l'alignement de ma forme et une table. Je veux utiliser des messages très courts comme celui-ci. J'ai essayé ceci mais il montre ses propres messages pas le mien.

$(obj).find("form").validate({ 

     messages: { 
      required: "Required.", 
      email: "Invalid email", 
      url: "Invalid URL." 
     } 

    }); 

Quelqu'un peut-il me dire comment dois-je faire? Quel est le code exact? L'option "Messages" ne fonctionne pas pour moi. Merci

Répondre

5

Quels sont les noms de vos éléments d'entrée? Voir comment la clé dans l'objet des messages se rapporte à l'attribut name de l'élément input et non au nom de la classe. Ceci est crucial

<form id="commentForm" method="get" action=""> 
    <fieldset> 
     <input id="iname" name="nname" size="25" class="required" minlength="2" /><br /> 
     <input id="iemail" name="nemail" size="25" class="required email" /><br /> 
     <input id="iurl" name="nurl" size="25" class="url" /><br /> 
     <input class="submit" type="submit" value="Submit"/> 
    </fieldset> 
</form> 

$(document).ready(function() { 
    $("#commentForm").validate({ 
     messages: { 
      nname: "Required", 
      nemail: "Invalid email", 
      ncomment: "Invalid URL" 
     } 
    }); 
}); 

Vous pouvez également spécifier différents messages d'erreurs différentes

$("#commentForm").validate({ 
    messages: { 
     nname: "Required", 
     nemail: { 
      required: "Email needed", 
      email: "Invalid email" 
     }, 
     ncomment: "Invalid URL" 
    } 

}); 
+1

Parfait. La vraie chose est 'nom' du champ lors de l'utilisation de l'option 'messages'. J'utilisais la classe pour ça et c'est mon erreur. Merci. votre réponse est acceptée :) – NAVEED

+0

Est-ce que l'un d'entre vous saura s'il existe un moyen d'attacher une copie de message dans un attribut HTML, tel que 'class =" required "' ou 'minlength =" 2 "'? La documentation de l'option de message suggère l'utilisation de l'attribut "title", mais cela ne semble pas fonctionner. C'est la seule option courante pour écrire un nouveau JS et j'essaye d'utiliser ce plugin pour éliminer la config et la configuration supplémentaires pour chaque nouveau formulaire ajouté à un site donné. Merci! – jozecuervo

+0

@jozecuervo http://jsfiddle.net/nDNYP/ Mais le titre ne peut contenir que 1 message d'erreur. En utilisant le titre, vous ne pouvez pas afficher différents messages pour différentes erreurs – jitter

1

L'option Messages devrait fonctionner. Voir ceci question.

+0

question éditée: J'utilise l'option de messages comme décrit dans ma question, mais il montre ses propres messages. pouvez-vous me dire la syntaxe exacte. merci – NAVEED

+0

S'il vous plaît voir la question liée et la réponse acceptée. La méthode setDefaults est probablement la meilleure solution pour vous. – kgiannakakis

Questions connexes