2013-03-18 82 views
0

嗨,大家好,所以我想验证我的形式使用了(),该领域的一个是URL,我的规则至今是:在验证形式

rules: { 
       url: { required: true, url: true}, 
       name: { required: true }, 
       provider: { required: true } 
      } 

我也想用例如url:在规则内部有(http)来检查协议的存在。我如何实现这一目标?

回答

1

尝试

$.validator.addMethod("checkURL", function(value, element) 
{ 
    var return_val = null; 
    var message = null; 
    var reg = /http(s?):\/\/www/; 

    if (!reg.test($(element).val())) 
    { 
     return_val = false; 
     message = "false message"; 
    } 
    else 
    { 
     return_val = true; 
     message = ""; 
    } 
    jQuery.validator.messages.checkURL = message; 
    return return_val; 
}, jQuery.validator.messages.checkURL); 

使用它作为

rules: 
{ 
    url: { required: true, checkURL: true}, 
    name: { required: true }, 
    provider: { required: true } 
} 
+0

会,这也检查元素具有https://开头呢? – Mantas 2013-03-18 10:37:37

+0

@Mantas不会...... – 2013-03-18 10:38:45

+0

所以加入OR检查IF语句会将其排除? – Mantas 2013-03-18 10:41:50