45

我的字段是: tax rate并且tax amount我想在其中验证正值。

我写了这个验证:

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

但它不采用带小数点的数字,如4.67. 它给我一个错误。哪种类型的验证适用于整数和浮点值?例如:2, 57,54.56应该通过但是-2.56,-87应该失败。

4

3 回答 3

137

这不行吗?

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 }
于 2012-08-04T06:43:27.943 回答
8

你可以使用:

validates :tax_rate, inclusion: { in: 0..5 }

它允许以下值:0、2、1.2、3.2

希望能帮助到你!

于 2014-02-16T21:55:38.233 回答
4

你可以使用validates_numericality_of :amount, :greater_than => 0.0

于 2018-09-12T04:39:33.503 回答