我正在使用Jquery Validate,我需要一個自定義的驗證方法。配置JQ驗證接受沒有http://前綴的URL
默認的URL方法將不會接受一個URL,除非它有一個模式。我的用戶只會提供以http://開頭的URL,所以我寧願不必每次都通過輸入它的麻煩。
我想創建一個驗證方法,它將使用默認的URL方法來檢查URL的有效性。如果失敗,我想先插入http://並再次運行它。這是我到目前爲止有:
addCustomUrlValidator: function() {
$.validator.addMethod("short-url", function(value, element) {
if (value.length == 0) return true; // the field is optional
// attempt to validate with default URL method. Return true on valid.
// ...
// prepend http:// to value and attempt validation again. Return true on valid.
// ...
return false
}, jQuery.validator.format("Must be a valid URL format"));
}
您不能使用'.addMethod()'更改字段值。您只能輸出true/false來指示此自定義規則的通過/失敗。 – Sparky 2015-04-01 13:52:24
要創建這個新方法,請查看[插件源代碼](http://ajax.aspnetcdn.com/ajax/jquery.validate/1.13.1/jquery.validate.js)中的url方法,將其複製正則表達式到你的'.addMethod()'函數中並調整它以忽略協議......在這種情況下,簡單地刪除正則表達式的'(https?| s?ftp):\/\ /'部分。 – Sparky 2015-04-01 13:56:06
謝謝Sparky,如果你寫出答案,我會接受它 – 2015-04-24 06:53:51