提交时Rails 3空字段显示多个错误消息

时间:2013-03-17 13:03:10

标签: ruby-on-rails

我是rails的新手,目前正在学习验证,所以我创建了一个表单,其中我有一个名为no(类型整数)的字段,在验证模型中我做过这样的事情:

validates :no,
        :presence => true,
        :uniqueness => true,
        :numericality => { :only_integer => true, :greater_than_or_equal_to => 1, :less_than_or_equal_to => 99999 }

现在没有输入任何内容而是显示两条错误消息

1]否を入力してください。 - >请输入号码。 2]没有は数値で入力してください。 - >请输入整数中的数字。

抱歉日本的东西因为我的日语是日语; - )

我需要的是当'no'字段为空时,它应该只显示该空虚的error_message。目前它正在显示error_message for presence&该字段为空时的数值。

我很抱歉,如果这是一个非常基本的问题,我试图寻找答案,但我似乎找不到任何答案。

1 个答案:

答案 0 :(得分:0)

将数字验证更改为仅在该字段存在时才有效。

validates :no,
  :presence => true,
  :uniqueness => { :if => :no_is_present? },
  :numericality => {
    :only_integer => true,
    :greater_than_or_equal_to => 1,
    :less_than_or_equal_to => 99999,
    :if => :no_is_present?
  }

def no_is_present?
  no.present?
end