Html 接受非http://或https://链接的url_字段
我已尝试在表单中使用Html 接受非http://或https://链接的url_字段,html,ruby-on-rails,ruby,Html,Ruby On Rails,Ruby,我已尝试在表单中使用url\u字段标记 我应该能够输入非http://URL,例如我需要输入www.google.com。但是rails url_字段不允许这样做 有什么办法吗 这是我当前的设置: <%= f.url_field :english_link, :class => "form-control", :placeholder =>"Type your message", :rows => "4", maxlength: 130, spellcheck: tru
url\u字段
标记
我应该能够输入非http://
URL,例如我需要输入www.google.com
。但是rails url_字段不允许这样做
有什么办法吗
这是我当前的设置:
<%= f.url_field :english_link, :class => "form-control", :placeholder =>"Type your message", :rows => "4", maxlength: 130, spellcheck: true %>
我检查了rubular.com中的正则表达式是否有效,它是否有效 模式将在浏览器端进行评估。不错的解决方案,但它不会在任何地方都起作用(取决于浏览器)。不确定正则表达式是否与Ruby的语法完全相同,也许您应该交叉引用taht。如果正则表达式遵循所需的语法,请检入HTML输出(也许您应该将//替换为“”)
在您的模型中,例如
Posts.rb
假设它包含字段english\u链接
因此,在您的模型Post.rb
中,您可以执行如下检查:
validates_format_of : english_link, :with => /^(http|https):\/\/[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,5}(:[0-9]{1,5})?(\/.*)?$/ix
validates_format_of : english_link, :with => /^(http|https):\/\/[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,5}(:[0-9]{1,5})?(\/.*)?$/ix