Ruby on rails 数值验证,在比较时捕捉零值

Ruby on rails 数值验证,在比较时捕捉零值,ruby-on-rails,validation,Ruby On Rails,Validation,我有一个对象,它包含一个数字范围和一个描述[最小值,最大值,名称]。 我需要验证min_val

我有一个对象,它包含一个数字范围和一个描述[最小值,最大值,名称]。 我需要验证min_val 另外,我如何更改数字的错误消息

validates :min_val, :presence => true, :numericality => {:greater_than => 0, :less_than => :max_val}

validates :max_val, :presence => true, :numericality => {:greater_than => 0, :greater_than => :min_val}

validates :name, :presence => true, :if => Proc.new { |r| !r.min_val.nil? || !r.max_val.nil? }
您可以使用指定自定义错误消息

validates :max_val, :presence => true, :numericality => {:greater_than => 0, :message => " is an invalid number."}
validates :min_val, :presence => true, :numericality => {:greater_than => 0, :message => " is an invalid number."}
validate do |record|
  record.errors.add_to_base("The min_val should be less than max_val") if min_val.to_i >= max_val.to_i
end
validates :name, :presence => true, :if => Proc.new { |r| !r.min_val.nil? || !r.max_val.nil? }