使用jQueryValidate规则标记必填字段

Using jQuery Validate rules to mark required fields

本文关键字:字段 jQueryValidate 规则 使用      更新时间:2023-09-26

我已经从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插件,用于修改所需的文本框。我只是不太想把这一行复制到我所有的表单验证中。

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

否则,您很可能不得不在$.fn.validate()插件本身内部进行更改。

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

不要忘记检查这个插件是否可用,所以如果在其他地方使用而不突出显示,验证就不会中断。

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

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