我是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&该字段为空时的数值。
我很抱歉,如果这是一个非常基本的问题,我试图寻找答案,但我似乎找不到任何答案。
答案 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