web-dev-qa-db-fra.com

Message d'erreur du déclencheur de validation jQuery

J'ai un problème un peu bizarre. Je veux déclencher un message d'erreur jquery-valdation sur un élément même si c'est valide.

Scénario: j'ai un grand formulaire. L'une des entrées est pour PersonalId. Il est facultatif d'entrer ce PersonalId. À côté de cette entrée, j'ai un bouton normal (pas le bouton de soumission). Si vous cliquez dessus (récupérer des informations depuis ajax) et que le champ PersonalId est vide, je veux déclencher ce message d'erreur.

Est-ce possible avec jQuery Validate ou dois-je créer ma propre fonction?

25
mannge

Est-ce possible avec jQuery Validate ou dois-je créer ma propre fonction?

Les deux, en quelque sorte. Vous pouvez utiliser la fonction showErrors pour afficher manuellement les erreurs sur le formulaire, mais comme vous ne voulez pas que ce soit une règle activée lorsque vous soumettez le formulaire, vous 'devra faire votre propre vérification de la valeur dans l'entrée.

Quelque chose comme:

var $validator = $("#myform").validate();
$("#checkid").click(function() {
    var errors;

    if (!$("#personalid").val()) {
        /* Build up errors object, name of input and error message: */
        errors = { personalid: "Please enter an ID to check" };
        /* Show errors on the form */
        $validator.showErrors(errors);            
    }        
});

Exemple: http://jsfiddle.net/andrewwhitaker/XjZer/

Notez que le formulaire sera toujours soumis s'il n'y a rien dans le champ personalid.

52
Andrew Whitaker