Ruby on rails Rails局部数值性验证

Ruby on rails Rails局部数值性验证,ruby-on-rails,ruby-on-rails-3,Ruby On Rails,Ruby On Rails 3,Rails中的数字验证默认使用英文“.”分隔符和“.”分隔符进行检查。我在我的应用程序中启用了德语区域设置,但验证似乎不会自动注意到-我必须自己编写验证,还是有更好的“Rails方式”来完成此操作?标准验证程序不关心I18n格式 也许您不应该更改数字字段的格式 为此,我通常会创建一个虚拟字段,进行格式转换,并创建一个自定义验证器(下面的代码来自内存,可能不是最好的) def amount_f I18n.l amount end def amount_f=(val) amount = v

Rails中的数字验证默认使用英文“.”分隔符和“.”分隔符进行检查。我在我的应用程序中启用了德语区域设置,但验证似乎不会自动注意到-我必须自己编写验证,还是有更好的“Rails方式”来完成此操作?

标准验证程序不关心I18n格式

也许您不应该更改数字字段的格式

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

def amount_f
  I18n.l amount
end

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