Rails中的数字验证使用英文'进行检查。'分隔符和','分隔符默认为。我在我的应用程序中启用了德语语言环境,但验证似乎不会自动注意到-我是否必须编写自己的验证,或者是否有更好的"铁路方式"来做这件事?
标准验证器不关心I18n格式。
也许你不应该改变数值字段的格式。
我所做的通常是创建一个虚拟字段来进行格式转换并创建一个自定义验证器(下面的代码来自内存,可能不是最好的)
def amount_f
I18n.l amount
end
def amount_f=(val)
amount = val ? val.gsub(',','.') : nil
end