我已经从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插件我写的是为了修改所需的文本框。我不是那么热衷于将该行复制到我的所有表单验证中。
答案 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);