验证插件 - 自动验证页面上的多个表单

时间:2013-10-06 12:44:35

标签: jquery jquery-validate

目前我需要验证这样的每个表单:

    $(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');
            }
        });
    });

我希望它能够使用required标记自动验证每个元素的表单。

我该怎么做?

1 个答案:

答案 0 :(得分:59)

引用OP:

  

我希望它能自动验证具有所需标签的每个元素的表单。”

引用OP评论:

  

“我必须为当前的每个表单调用$('#admin_settings_general').validate()。如何在不将其限制为一个表单的情况下调用它?”


要正确初始化页面上所有表单上的.validate(),请使用常用选择器,例如form标记本身(或class)。由于您无法将.validate()附加到代表多个form元素的任何 jQuery选择器,请使用jQuery .each()。这就是设计插件方法的简单方法。

$(document).ready(function() {

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

});

工作演示:http://jsfiddle.net/6Fs9y/