遇到一个问题:
假如服务端验证(验证写在 Model 里)时,验证没有通过,如何将错误信息 显示在表单出错数据项的后面?
具体表单代码:
<%= form_for(resource, :as => resource_name, :url => session_path(resource_name), html: {role:'form'}) do |f| %>
<%= f.text_field :email, :required => true, :autofocus => true, class: 'form-control', placeholder: '邮箱' %>
<small><%= resource.errors[:email].join('') %></small>
<%= f.password_field :password, :required => true, class: 'form-control', placeholder: '密码' %>
<small><%= resource.errors[:password].join('') %></small>
<%= f.submit "登录", class: 'btn btn-md btn-primary btn-block' %>
<% end %>
根据@Rei的提示,我发现错误信息是放在了resource.errors
中。然后,我想使用<small><%= resource.errors[:email].join('') %></small>
把和 email 相关的错误信息提取出来。但是,上述表单中, 除了我自己输出的错误外,还会在生成的<input>
标签后面,再加上一个<label>错误信息</label>
。
问题列表:
<input>
之后,再次 显示错误信息?<%= resource.errors[:email].join('') %>
这样能否可以?(主要是想定制表单错误提示的显示位置)上网查了一些资料,也看了 Rails 的文档。但是,没有一个靠谱的说明。希望了解的朋友能指点一下。