45

私のフィールドは次のとおり です。正の値tax ratetax amount検証したい。

私はこの検証を書きました:

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

しかし、 のように小数点のある数字はとっていません4.67。そして、それは私にエラーを投げています。整数値と浮動小数点値に対してどのタイプの検証が機能しますか? 例: 25754.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 に答える