首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery验证网址没有http://

jQuery验证网址没有http://
EN

Stack Overflow用户
提问于 2019-02-04 18:52:28
回答 1查看 3.6K关注 0票数 3

我试图在没有http://的情况下验证一个url,使用jQuery验证,但它不起作用。我正在遵循这里的回答

代码语言:javascript
复制
<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; 
  }
});

当我输入像"www.google.com“这样的地址时,仍然会得到无效的错误。

这是小提琴

有什么问题吗?谢谢你的帮助

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-02-04 18:57:53

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

代码语言:javascript
复制
$(document).ready(function() {
  $.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": {
        validUrl: true // <-- change this
      }
    },
    submitHandler: function(form) {
      alert('valid form submitted'); // for demo
      return false; // for demo
    }
  });
});
代码语言:javascript
复制
body {
  padding: 20px;
}

label {
  display: block;
}

input.error {
  border: 1px solid red;
}

label.error {
  font-weight: normal;
  color: red;
}

button {
  display: block;
  margin-top: 20px;
}
代码语言:javascript
复制
<script type="text/javascript" src="//code.jquery.com/jquery-2.0.2.js"></script>
<script type="text/javascript" src="https://ajax.aspnetcdn.com/ajax/jquery.validate/1.11.0/jquery.validate.min.js"></script>
<link rel="stylesheet" type="text/css" href="//netdna.bootstrapcdn.com/bootstrap/3.0.3/css/bootstrap.min.css">
<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.11.0/additional-methods.js"></script>
<form id="form" method="post" action="#">
  <input type="text" name="url" id="url" />
  <button type="submit">Submit</button>
</form>

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54522544

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档