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?
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/