【问题标题】:Not including field names in validation error messages在验证错误消息中不包括字段名称
【发布时间】:2009-08-24 01:52:32
【问题描述】:

如果我有以下验证:

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 岁才能注册”

有什么办法不在消息的开头包含列名?

谢谢

汤姆

【问题讨论】:

    标签: ruby-on-rails ruby validation


    【解决方案1】:

    是的。我使用custom-err-msg plugin。启动和运行非常容易,只需阅读自述文件即可。

    【讨论】:

    • 没有内置魔法:dont_include_field_name 标志或任何东西,嗯? :) 感谢您的插件建议 - 我会检查一下。 +1
    【解决方案2】:

    完全披露:我开发了 gem。

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

    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会得到没有属性前缀的消息。

    【讨论】:

      猜你喜欢
      • 2011-07-19
      • 1970-01-01
      • 2023-04-10
      • 1970-01-01
      • 2012-07-10
      • 1970-01-01
      • 1970-01-01
      • 2014-10-01
      • 2022-12-21
      相关资源
      最近更新 更多