2015-06-28 88 views
2

我的理解是,我可以在本地化文件中自定义错误消息。我目前正试图以自定义一个无效的用户名字段中显示错误消息对我的用户模型:Rails自定义验证错误消息不起作用

User.rb

class User < ActiveRecord::Base 
    validates :username, length: { within: 3..25 }, 
          format: /\A(?=.*[a-z])[a-z\d]+\Z/i, 
          uniqueness: true 

en.yml(本地化文件)

en: 
    activerecord: 
    errors: 
     models: 
     user: 
      attributes: 
      username: 
       format: "CUSTOM MESSAGE!" 

但是,我收到的错误消息是默认的“无效”消息(或者如果我获得full_messages版本,“用户名无效”)。

回答

1

看一看hereerrors/messages中没有format密钥。您需要覆盖invalid密钥。

en: 
    activerecord: 
    errors: 
     models: 
     user: 
      attributes: 
      username: 
       invalid: "CUSTOM MESSAGE!" 
相关问题