0

我有一个验证表单的模型,但它没有从 ActiveRecord 继承......它没有数据库

我正在验证模型中的某些字段,但我想要自定义验证消息......过去我已经进入

en.yml 

 en:
   activerecord:
     models: 
       mymodel: "CHANGE TO SOMETHING ELSE"

并且可以轻松地将其更改为我想要的任何内容,但它不适用于此模型......我认为这是因为它不是从 ActiveRecord 继承......

如何自定义验证错误?

4

2 回答 2

3

尝试包括这样的翻译:

包括 ActiveModel::Translation

编辑:

如果您的模型具有电子邮件属性并且空白验证未通过,您可以像这样格式化您的语言环境

语言环境:

en:
  activemodel:
    attributes:
      mymodel:
        email: "foo"
    errors:
      models:
        mymodel:
          blank: "bar"

这是您可以添加区域设置的其他错误 https://github.com/rails/rails/blob/3-2-stable/activemodel/lib/active_model/locale/en.yml

于 2013-08-12T17:37:31.540 回答
0

您想使用 ActiveModel 支持进行验证,如 Rails 3 中添加的那样。

class MyModel
  include ActiveModel::Validations

  attr_accessor :name

  validates :name, presence: true

  def initialize(attributes = {})
    attributes.each do |name, value|
      send("#{name}=", value)
    end
  end

end

请参阅这些参考资料:

正如您所引用的,第一个链接甚至包括使用 i18n 文件来解决错误。

于 2013-08-12T17:13:52.937 回答