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

Проверка неотрицательных целых чисел и десятичных значений

Мои поля: tax rate и tax amount, в которых я хочу проверить положительные значения.

Я написал эту проверку:

:format => { :with => /\A[+]?\d+\Z/}

Но он не принимает числа с десятичной точкой, например 4.67. И это бросает мне ошибку. Какой тип проверки будет работать с целыми числами и значениями с плавающей запятой? например: 2, 57, 54.56 должен пройти, но -2.56, -87 должен выйти из строя.

4b9b3361

Ответ 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

Надеюсь, что это поможет!