2010-12-20 66 views
2

我正在使用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

回答

1

這並不完全正確回答您的問題,而是在您嘗試檢測佔位符文本時看到,並且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

相關問題