【发布时间】:2015-04-01 05:26:15
【问题描述】:
我正在使用 Jquery Validate,我需要一个自定义的验证方法。
默认的 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()更改字段值。您只能输出一个真/假来表示此自定义规则的通过/失败。 -
要创建这个新方法,请查看the plugin source 中的
url方法,将其正则表达式复制到您的.addMethod()函数中并对其进行调整以忽略协议...在这种情况下只需删除正则表达式的(https?|s?ftp):\/\/部分。 -
谢谢 Sparky,如果你把它写成答案,我会接受它
标签: jquery regex jquery-validate