【问题标题】:Unable to verify valid URL in Parsley无法验证 Parsley 中的有效 URL
【发布时间】:2017-10-26 11:08:53
【问题描述】:

在 Parsley URL 验证中,很少有有效的 URL 失败。

示例网址

http://abc-ap/acde/
http://abc-test-web/~bd/test.php/login

在我的 URL 中,我没有 .com、.in、.net 等来提及域扩展名。

Ruby 代码

<%= f.text_field :url, value: url, id: 'chat_url',
data:{
  parsley_required: '',
  parsley_type: 'url',
  parsley_validate_url: true,
  parsley_validate_url_message: 'Error'
}
%>

JS代码

window.Parsley.addValidator('validateUrlString', {
 validateString: function (_value) {
   var regex = /^(https?:\/\/)?([\da-z\-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/;       
   console.log('Value='+_value);
   return !regex.test(_value);
 }
});

进一步澄清 - JSFiddle 链接

https://jsfiddle.net/nkvmh6qr/4/

【问题讨论】:

  • 这里没有问题!并且小提琴中的正则表达式与“JS代码”部分不同。
  • 问题中的正则表达式 使样本失败,因为它在主机/域部分需要 .。小提琴中的正则表达式基本上会匹配任何东西,并且非常有缺陷。例如。你有经典的A-z 错误。 Check this answer.
  • @ClasG :我尝试并粘贴了我的方法。但仍然没有成功。
  • 嗯...?你读过我的cmets吗? 1. 问题在哪里? 2. 你问的是哪个代码 - 问题中的那个还是小提琴中的那个?
  • @ClasG - 感谢您的回复。其实我只是在寻找正则表达式。函数的其余部分已准备好测试其余部分。

标签: javascript regex ruby-on-rails-5 parsley.js


【解决方案1】:

目前尚不清楚您要完成什么。 Parsley 内置了对 URL 验证的支持。我不认为abc-apabc-type-web 是有效的域名,所以您提供的网址无效。

【讨论】:

  • Marc : 这些域是正确的,属于内部服务器 URL
  • 嗯,你是对的。所以我们应该修复的是 Parsley 的一个错误:-(
  • 我认为不是 Parsley 的 bug,但我有不同的要求。
  • 一个错误,因为 Parsley 旨在遵循 HTML5 规范。
猜你喜欢
  • 1970-01-01
  • 2014-10-25
  • 2016-12-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-09-22
相关资源
最近更新 更多