web-dev-qa-db-fra.com

Plugin de validation - Validation automatique de plusieurs formulaires sur une page

Actuellement, je dois valider chaque formulaire comme celui-ci:

    $(document).ready(function () {
        $('#admin_settings_general').validate({
            rules: {
                admin_settings_application_title: {
                    required: true
                }
            },
            highlight: function (element) {
                $(element).closest('.form-group').addClass('has-error');
            },
            unhighlight: function (element) {
                $(element).closest('.form-group').removeClass('has-error');
            }
        });
    });

Je veux qu'il valide automatiquement les formulaires pour chaque élément avec la balise required.

Comment puis je faire ça?

18
TheNiceGuy

Citation OP:

" Je veux qu'il valide automatiquement les formulaires pour chaque élément avec la balise requise."

Citer OP commentaire:

"Je dois appeler $('#admin_settings_general').validate() pour chacun des formulaires actuellement. Comment puis-je l'appeler sans le limiter à un seul formulaire?"


Pour initialiser correctement .validate() sur tous formulaires sur une page, utilisez un sélecteur commun tel que la balise form elle-même (ou une class ). Puisque vous ne pouvez pas attacher .validate() à un sélecteur jQuery qui représente plusieurs éléments form, utilisez une fonction jQuery .each(). C'est simplement ainsi que ces méthodes de plugins ont été conçues.

$(document).ready(function() {

    $('form').each(function() {  // attach to all form elements on page
        $(this).validate({       // initialize plugin on each form
            // global options for plugin
        });
    });

});

DEMO fonctionnant: http://jsfiddle.net/6Fs9y/

61
Sparky