2010-05-13 8 views
1

Par défaut, si un utilisateur entre une valeur dans un champ, la validation 'désireuse' intervient. Y at-il un moyen de désactiver la validation 'désireuse' avant de soumettre puis l'activer après une soumission invalide est arrivé? J'ai utilisé $.validator.setDefaults() pour initialiser les propriétés onkeyup et onfocusout à false.jQuery Validation Plugin - Activer la validation 'Eager' seulement après et invalide Envoyer

Dans la méthode invalidHandler j'exécutez à nouveau le $.validator.setDefaults(), la mise en onkeyup et onfocusout propriétés à true.

Pas de chance avec cette approche. Fondamentalement, je veux seulement que la validation 'désireuse' ait lieu après que l'utilisateur essaye de soumettre un formulaire invalide.

Merci pour toute aide.

Répondre

0

J'ai trouvé une solution simple. Je viens de définir un indicateur personnalisé dans la méthode invalidHandler, puis de le vérifier dans les autres méthodes pour déterminer les fonctionnalités à 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... 
     } 
    } 
}); 
Questions connexes