2009-11-13 8 views
0

Je suis en train de valider le formulaire en utilisant JQuery avec les plugins validate et metadata. J'utilise le plugin metadata pour pouvoir spécifier les règles et les messages en ligne dans le formulaire html au lieu de javascript dans la page. J'obtiens une erreur lorsque j'essaie de spécifier l'emplacement du message d'erreur en utilisant errorPlacement. (Si je le précise dans la section, il fonctionne très bien, mais pas si je le précise en ligne.)JQuery: Spécifier le placement des messages d'erreur en ligne à l'aide des plugins Metadata et Validate

Voici ce que mon html ressemble:

<input name="list" id="list1" type="checkbox" 
    validate="{required:true, minlength:1, 
    messages:{required:'Please select at least one newsletter.', minlength:'Please select at least one newsletter.'}, 
    errorPlacement: function(error, element) { error.appendTo('#listserror');} }"> 

Tel que rapporté par la fonction de débogage de validation, l'erreur est : « error.appendTo est pas une fonction. »

il fonctionne très bien si je le précise dans la section comme ceci:

$().ready(function() { 
    $("#subscribeForm").validate({ 
    errorPlacement: function(error, element) { 
    if (element.attr("name") == "list") 
    error.appendTo("#listserror"); 
    else 
    error.insertAfter(element); 
    } 
}); 
}); 

Répondre

0

Vous pouvez VHA Nous avons déjà abandonné cette question, et cela a peut-être quelque chose à voir avec le plugin de métadonnées (je ne le connais pas), mais je ne savais pas que vous pouviez appeler la fonction appendTo sur quelque chose qui n'était pas un élément html. Il est possible que grâce aux métadonnées, vous n'ayez pas d'élément html avant que ce soit magique.

Questions connexes