Rails本地化数值验证

时间:2011-10-11 09:55:48

标签: ruby-on-rails ruby-on-rails-3

Rails中的数值验证检查英语'。'默认情况下,分隔符和','分隔符。我在我的应用程序中启用了德语语言环境,但验证似乎没有自动注意 - 我是否必须编写自己的验证或者是否有更好的“Rails-way”这样做?

1 个答案:

答案 0 :(得分:1)

标准验证器不关心I18n格式。

可能你不应该改变数字字段的格式。

我为此做的通常是创建一个虚拟字段,用于格式转换和创建自定义验证器(下面的代码来自内存,可能不是最好的)

def amount_f
  I18n.l amount
end

def amount_f=(val)
  amount = val ? val.gsub(',','.') : nil
end