使用jQuery验证规则来标记必填字段

时间:2012-08-31 15:11:13

标签: javascript jquery validation

我已经从bassistance.de实现了jQuery验证插件,并通过在我希望验证的每个表单下面手动定义规则来使用它。 我想在脚本初始化完成后修改我定义为必需的字段(例如,给它们一个边框颜色),但我似乎无法找到通用的“加载”回调,事件或扩展可能性。

每次$('#form').validate(..)初始化完成后,有没有办法执行脚本?

我现在正在解决的问题如下:

$(document).ready(function() {
    $('#myForm').validate({
        rules: {
            txtCode: { required: true, maxlength: 12 },
            txtName: { required: true, maxlength: 50 },
        }
    });
    $('#myForm').highlightRequiredFields();
});

..其中highlightRequiredFields()是一个简单的jQuery插件我写的是为了修改所需的文本框。我不是那么热衷于将该行复制到我的所有表单验证中。

3 个答案:

答案 0 :(得分:1)

为什么不简单地使用CSS进行更改?我有一堆规则&甚至一些JS行在任何具有必需类的东西上自动运行,一旦它们有效/错误,其他东西(我想要的)就会发生在它们身上。

否则,您最有可能在$.fn.validate()插件内部进行更改。

答案 1 :(得分:1)

我会干扰验证插件的init方法来执行highlightRequiredFields插件。

不要忘记检查此插件是否可用,因此如果在其他地方没有突出显示使用,则验证不会中断。

答案 2 :(得分:0)

谢谢大家。 Zachary的回应让我意识到这比我想象的容易得多。 我最后添加了这个重载:

(function($) {
    $.fn.extend({
        validateAndMarkRequired: function(options) {
            var validator = this.validate(options);
            this.markRequiredFields();
            return validator;
        }
    });
})(jQuery);