Rails:Automatic 属性访问器的验证

Rails:Automatic Validation of Attribute Accessor

我是 Rails 的新手,我遇到了一个独特的行为(现在对我来说似乎很神奇)。

我在模型文件中添加了属性访问器

attr_accessor :git_url

我确定我没有为这个 accessor 添加任何 validation

我正在使用 简单表单 gem 表单。当我在表单中包含此访问器并通过输入无效 url 提交表单时,会出现提示(请输入 URL)并且表单不会提交

<%= f.input :git_url %>

很酷,但我想知道这个验证是从哪里来的

不胜感激!

我认为您看到的是简单表单的 HTML5 客户端验证。

例如,

如果您将输入设置为 :url 字段。这将自动设置一些客户端验证。

<%= f.input :git_url, as: :url %>

您可以通过完全禁用客户端验证来验证是否属于这种情况。

<%= simple_form_for(resource, html: { novalidate: true }) do |form| %>

According to readme, git_url ends with url. This is triggering input type=url