0

次のように、テーブルに小数と精度のフィールドがあります。

change_column :product, :price, :decimal, precision: 20, scale: 10

そして私はこのように検証を設定しました

validates :price, numericality: true, format: { with: /^\d{1,20}(\.\d{0,10})?$/ }

クライアント側から90,000.00の入力値があり、それを保存しようとすると、数字ではないというエラーが発生します。

誰かが何か考えを持っていますか?前もって感謝します。

4

1 に答える 1

0

コールバックを使用before_validationして、価格の値をバリデーターに渡される pe にフォーマットできます。

于 2012-12-14T09:53:25.047 に答える