1 votes

jQuery Validation Plugin - Activation de la validation "Eager" uniquement après une soumission invalide

Par défaut, si l'utilisateur saisit une valeur dans un champ, la validation "eager" se déclenche. Existe-t-il un moyen de désactiver la validation rapide avant l'envoi et de l'activer après un envoi invalide ?

J'ai utilisé $.validator.setDefaults() pour définir initialement le onkeyup y onfocusout les propriétés à false .

Dans le invalidHandler je réexécute la méthode $.validator.setDefaults() , réglage onkeyup y onfocusout les propriétés à true .

Pas de chance avec cette approche.

En fait, je ne veux que la validation 'eager' ait lieu après que l'utilisateur ait essayé de soumettre un formulaire invalide.

Merci pour toute aide.

0voto

Ryan Fitzer Points 6

J'ai trouvé une solution simple. J'ai simplement défini un drapeau personnalisé dans le fichier invalidHandler et le vérifier ensuite dans les autres méthodes pour déterminer quelle fonctionnalité prendre en charge.

$.validator.setDefaults({
    invalidHandler: function(form, validator) {     
        // Set a custom flag to activate certain functionality
        // after the user has clicked the form submit.
        validator.settings.invalidSubmit = true;
    },
    showErrors: function(errorMap, errorList) {
        // Check our custom flag
        if(this.settings.invalidSubmit) {
            // Do something...
        }
    }
});

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X