Rails验证错误不包括属性名称

时间:2012-10-02 04:19:01

标签: ruby-on-rails validation

我知道我可以用i18n解决这个问题,如果我有时间的话,我会尽力做,但为了更快的解决方案我很好奇:有没有办法将属性名称添加到rails验证错误?例如,我的模型中有以下内容:

validates_presence_of :name

呈现的验证错误是can't be blank。我更喜欢说Name can't be blank

3 个答案:

答案 0 :(得分:1)

validates_presence_of :name, :format => { :message => "whatever you want" }

答案 1 :(得分:0)

使用errors.full_messages

<ul>
  <% @record.errors.full_messages.each do |msg| %>
    <li><%= msg %></li>
  <% end %>
</ul>

答案 2 :(得分:0)

仅 -

validates_presence_of :name, :message => "Name can't be blank" 
对于validates_presence_of

,错误区域设置为 - “不能为空”;属性/属性名称在验证期间加前缀。您可以通过上面覆盖它。 因此,对于您的情况,由于属性名称为“名称”,错误将自动变为“名称不能为空”。 要覆盖所有验证的属性名称,可以使用human_attribute_name(http://apidock.com/rails/ActiveModel/Translation/human_attribute_name)