Числовые проверки, улавливание нулевых значений в сравнениях - PullRequest
2 голосов
/ 06 марта 2011

У меня есть объект, который содержит диапазон номеров и описание [min_val, max_val, name].Мне нужно проверить, что 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? }

1 Ответ

3 голосов
/ 06 марта 2011

Вы можете использовать : сообщение , чтобы указать пользовательское сообщение об ошибке.

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? }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...