我需要用户能够创建部分 URL,而无需每次都输入完整的 URL。
例如,假设我计划将 url 设为www.example.com/areas/{userinput}/home
. 我希望用户能够在文本框中输入一些文本,并且我想验证它是一个有效的 URL。
URL 验证器的功能如下:
url: function(value, element) {
return this.optional(element) || /giantregex/.test(value);
}
我尝试通过以下方式向验证器添加验证方法:
$.validator.addMethod("exturl", function(value) {
return $.validator.methods.url.call($.validator, "http://www.example.com/areas/" + value + "/home");
});
但是,当验证表单并调用我的扩展时,我不断收到此错误:
Uncaught TypeError: Object function (d,a){this.settings=b.extend(true,{},b.validator.defaults,d);this.currentForm=a;this.init()} has no method 'optional'
optional
看起来是$.validator
对象上的一个方法,但我不知道如何调用验证器 url 方法。