代码之家  ›  专栏  ›  技术社区  ›  cakeforcerberus

在验证错误消息中不包括字段名

  •  3
  • cakeforcerberus  · 技术社区  · 16 年前

    如果我有以下验证:

    validates_inclusion_of :dob, :in => Date.new(1900)..Time.now.years_ago(18).to_date, :message => "You must be 18 or older to register"
    

    网站上显示的实际消息是:

    “出生日期您必须年满18岁才能注册”

    是否有任何方法不在消息开头包含列名?

    谢谢你

    汤姆

    2 回复  |  直到 7 年前
        1
  •  3
  •   Andy Gaskell    16 年前

    对。我用 custom-err-msg plugin . 它很容易启动和运行,只需阅读自述文件。

        2
  •  0
  •   lulalala    7 年前

    完全公开:我开发了宝石。

    我觉得现有的解决方案都是黑客,我开发了这个gem来避免这种黑客。

    https://github.com/lulalala/adequate_errors

    安装gem之后,在您的区域设置yaml文件中设置错误消息,如下所示:

    en:
      activemodel
        adequate_errors:
          models:
            user:
              attributes:
                dob:
                  inclusion: "You must be 18 or older to register"
    

    然后进入 model.errors.adequate.messages 将包含不带属性前缀的消息。

    推荐文章