我可以使用jQuery验证库为每个输入添加规则吗?
问题描述:
我正在使用jQuery Validation库。我可以使用jQuery验证库为每个输入添加规则吗?
我设置了一个自定义方法来阻止用户使用其默认值提交表单。
// Don't submit form using placeholder valeus
$.validator
.addMethod(
'noPlaceholder',
function(value, element) {
return value !== element.defaultValue;
},
'Please enter a value.'
);
我想要做的是将此规则应用于每个输入。
我知道我可以增加它的每个单独的规则我已经有,但我很想知道这是可能的吗?
我在浏览文档时没有找到任何具体内容。
答
这并不完全正确回答您的问题,而是在您尝试检测占位符文本时看到,并且jQuery验证的代码似乎使用jQuery的.val()
方法来检索文本输入,所以使用简单的方法覆盖.val()
是有意义的如果输入的值与element.defaultValue
相同,则返回""
。因此,您将不需要新的验证方法,因为“所需”规则将按预期工作。
$.fn._val = $.fn.val;
$.fn.val = function() {
if (arguments.length === 0) {
var v = this._val();
if (v === this[0].defaultValue) v = "";
return v;
}
return $.fn._val.apply(this, arguments);
};
+0
+1谢谢,这是一个有趣的概念:) – alex 2010-12-20 00:55:30
OH Hai Alex! :) – 2010-12-20 00:30:15
@Jacob你好!对我有答案吗? :P – alex 2010-12-20 00:39:31
我对这个插件有着丰富的经验......对不起! – 2010-12-20 00:39:59