2012-12-14 69 views
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从客户端并尝试保存;说不是数字就会出现错误。

任何人有任何想法?提前致谢。

+0

不要在其中添加逗号。 –

+0

如果我们将它设置为rails的默认格式,该怎么办?还有什么解决方案 – Sinal

+0

你可以使用一些过滤器来清除所有逗号或者任何你允许输入中的额外字符。就像你的情况一样,你可以用gsub(“,”,“”)来代替所有的逗号。 –

回答

0

您可以使用before_validation回调来格式化pe值传递给验证器的价格值。