2010-09-28 7 views
6

Avons-nous une fonction qui retourne tous les messages d'erreur lors de la validation d'un formulaire?Comment puis-je montrer des erreurs dans la validation jQuery?

J'ai essayé d'utiliser la fonction defaultshowerros() mais elle renvoie le message d'erreur pour l'élément en cours de validation. Comment puis-je obtenir tous les messages d'erreur de l'ensemble du formulaire?

+0

pourriez-vous fournir un lien vers le plugin de validation que vous utilisez? Ou encore mieux un code source :) – Flatlin3

+0

J'utilise ce plugin http://docs.jquery.com/Plugins/Validation –

Répondre

14

Si vous stockez une référence au validateur, par exemple:

var validator = $("form").validate(); 

Vous pouvez appeler .errors() ou .invalidElements() à tout moment, par exemple:

var errors = validator.errors(); //get the error elements, the actual labels 
var errors = validator.invalidElements(); //the invalid elements themselves 

Si vous n'êtes pas vraiment après les erreurs et veulent juste qu'ils apparaissent dans une place, utilisez le errorLabelContainer and wrapper options, par exemple:

<ul id="errors"></ul> 

Et référence:

$("form").validate({ errorLabelContainer: "#errors", wrapper: "li" }); 

Et vos erreurs apparaîtrait tout dans cette liste, qui est également affiché automatiquement/caché s'il y a/ne sont pas des erreurs.

1

Le plug-in de validation doit afficher une erreur à côté du champ où se trouve l'erreur. Utilisez-vous des identifiants pour vos boîtes de saisie? Si tel est le cas, utilisez également un nom et attribuez à jquery la valeur de l'attribut name dans vos règles et messages. J'espère que cela t'aides.

1

tard à la fête, mais je trouve que vous pouvez aussi instancier l'objet validate() avec une fonction invalidHandler():

var $jqvForm = $(".jqvForm").validate({ 
    invalidHandler: function(e, validation){ 
     console.log("invalidHandler : event", e); 
     console.log("invalidHandler : validation", validation); 
    } 
}); 

La variable validation contient une invalid variable (objet) avec des éléments de forme et leurs messages d'erreur.