Подтвердить что ты не робот

Убедитесь, что значение находится в определенном диапазоне, например. 1 <= val <= 2

Я хочу проверить число :value на 1 или 2

validates :value, :format => { :with => /1|2/, :message => "Select number.." }

Однако вышеприведенный код не выполняет проверку, если value == 1

Пожалуйста, убедитесь, что ваше решение позволяет мне добавить сообщение для подтверждения.

4b9b3361

Ответ 2

Вы ищете validates_inclusion_of:

validates_inclusion_of :value, :in => [1, 2],
  :message => "Select one of %{value}"

Вы также можете использовать (довольно новую) форму shothand и Range вместо массива:

validates :value, :inclusion => { :in => 1..2 }

Ответ 3

если вы хотите, чтобы это число было в пределах 1 и 2 (1,5, 1,6839749 и т.д.), выполните

validates_numericality_of :value, :greater_than_or_equal_to => 1, :less_than_or_equal_to => 2, :message => "blah"

может быть не тем, что вы ищете, но стоит отметить,