如何在Sequel模型验证中使用区域设置消息

时间:2013-02-13 21:55:10

标签: ruby sequel

我正在使用插件:validation_helpers和Sequel :: Model:

class User < Sequel::Model
  plugin :validation_helpers

  def validate
     super
     validates_presence [:name, :mail]
  end
end

当我显示验证错误时,会写入“不存在”的英文消息,但我想用其他语言本地化消息。这可能吗?

1 个答案:

答案 0 :(得分:1)

这是一个Rails应用程序吗?如果是,您可以更改续集插件ValidationHelpers使用的消息。要做到这一点,你应该做那样的事情:

给定以下语言环境文件:

en:
  errors:
    exact_length: "is not %{exact} characters"

您可以定义您的本地化消息:

Sequel::Plugins::ValidationHelpers::DEFAULT_OPTIONS.merge!(
  :exact_length=> {
    :message=> lambda { |exact| I18n.t("errors.exact_length", :exact => exact)}
  }
)

有关更多信息,您可以访问官方文档:

http://sequel.rubyforge.org/rdoc-plugins/classes/Sequel/Plugins/ValidationHelpers.html