Проверка неотрицательных целых чисел и десятичных значений
Мои поля:
tax rate
и tax amount
, в которых я хочу проверить положительные значения.
Я написал эту проверку:
:format => { :with => /\A[+]?\d+\Z/}
Но он не принимает числа с десятичной точкой, например 4.67
.
И это бросает мне ошибку.
Какой тип проверки будет работать с целыми числами и значениями с плавающей запятой?
например: 2
, 57
, 54.56
должен пройти, но -2.56
, -87
должен выйти из строя.
Ответы
Ответ 1
Не работает ли это?
validates :your_field, :numericality => { :greater_than_or_equal_to => 0 }
(угадать, что правильное правило для налогов будет более правильным:)
validates :your_field, :numericality => { :greater_than_or_equal_to => 0, :less_than_or_equal_to => 100 }
Ответ 2
Вы можете использовать:
validates :tax_rate, inclusion: { in: 0..5 }
Он позволяет использовать такие значения, как: 0, 2, 1.2, 3.2
Надеюсь, что это поможет!