我已在表单中进行了验证检查,以检查电子邮件,用户名和名字......这里是代码
class User < ActiveRecord::Base
validates_presence_of :email, :firstname, :username
validates_format_of :email,
:with => /[-!#$&'*+\/=?`{|}~.\w]+@[a-zA-Z0-9]([-a-zA-Z0-9]*[a-zA-Z0-9])*(\.[a-zA-Z0-9]([-a-zA-Z0-9]*[a-zA-Z0-9])*)+$/,
:message => ' appears to be invalid'
end
在我看来,部分看起来像这样
<%= form_for(@user) do |f| %>
<% if @user.errors.any? %>
<div id="error_explanation">
<ul>
<% @user.errors.full_messages.each do |msg| %>
<li>
<%= msg %>
</li>
<% end %>
</ul>
</div>
问题是我们无论何时验证失败,所有错误都列在表单上方....我希望错误显示对应于文本框.....我该怎么做
答案 0 :(得分:5)
将它放在您的复选框/文本字段或其他表单元素旁边:
<%= @user.errors.on(:attribute_name) %>
答案 1 :(得分:0)
模型验证就是这样的。如果你想要内联表单验证,你可以去结帐javascript表单验证。我最喜欢的是jquery的番茄酱插件: