Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery验证不带http的URL://_Javascript_Jquery_Url_Jquery Validate - Fatal编程技术网

Javascript jQuery验证不带http的URL://

Javascript jQuery验证不带http的URL://,javascript,jquery,url,jquery-validate,Javascript,Jquery,Url,Jquery Validate,我正在尝试使用jqueryvalidate在没有http://的情况下验证url,但它不起作用。我正在关注mtosic的回答 提交 $.validator.addMethod('validull',函数(值,元素){ var url=$.validator.methods.url.bind(this); 返回url(值,元素)| url('http://'+值,元素); },“请输入有效的URL”); $(“#表格”)。验证({ 规则:{ “url”:{ 网址:“Validull” } },

我正在尝试使用jqueryvalidate在没有http://的情况下验证url,但它不起作用。我正在关注mtosic的回答


提交
$.validator.addMethod('validull',函数(值,元素){
var url=$.validator.methods.url.bind(this);
返回url(值,元素)| url('http://'+值,元素);
},“请输入有效的URL”);
$(“#表格”)。验证({
规则:{
“url”:{
网址:“Validull”
}
},
submitHandler:函数(形式){
警报(“提交的有效表格”);
返回false;
}
});
当我输入像“www.google.com”这样的地址时,仍然会得到无效错误


问题是什么?感谢您的帮助

问题在于您已经定义了名为
validul
的规则,但您仍然在
$设置中对元素设置
url
规则。还要注意,您希望向属性传递布尔值,而不是字符串。试试这个:

$(文档).ready(函数(){
$.validator.addMethod('validull',函数(值,元素){
var url=$.validator.methods.url.bind(this);
返回url(值,元素)| url('http://'+值,元素);
},“请输入有效的URL”);
$(“#表格”)。验证({
规则:{
“url”:{

瓦利杜尔:没错//非常好用谢谢@Rory
<form id="form" method="post" action="#">
    <input type="text" name="url" id="url" />
    <button type="submit">Submit</button>
</form>

  $.validator.addMethod('validUrl', function(value, element) {
    var url = $.validator.methods.url.bind(this);
    return url(value, element) || url('http://' + value, element);
  }, 'Please enter a valid URL');

$("#form").validate({
  rules: {
    "url": {
      url: "validUrl"
    }
  },
  submitHandler: function (form) { 
    alert('valid form submitted'); 
    return false; 
  }
});