我可以使用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.' 
); 

我想要做的是将此规则应用于每个输入。

我知道我可以增加它的每个单独的规则我已经有,但我很想知道这是可能的吗?

我在浏览文档时没有找到任何具体内容。

+0

OH Hai Alex! :) – 2010-12-20 00:30:15

+0

@Jacob你好!对我有答案吗? :P – alex 2010-12-20 00:39:31

+0

我对这个插件有着丰富的经验......对不起! – 2010-12-20 00:39:59

这并不完全正确回答您的问题,而是在您尝试检测占位符文本时看到,并且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