我有一个模型验证表单,但它不从ActiveRecord继承....它没有数据库
我正在验证模型中的某些字段,但我想要自定义验证消息.....过去我已经进入了
en.yml
en:
activerecord:
models:
mymodel: "CHANGE TO SOMETHING ELSE"
并且可以轻松地将其更改为我想要的任何内容但它不适用于此模型....我认为它因为它不是从ActiveRecord继承而来......
如何自定义验证错误?
答案 0 :(得分: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
答案 1 :(得分: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文件来表示错误,正如您所引用的那样。