I would like to show custom translated error messages (based on the locale in the URL) for my validations. I have to following: validates :phone, :format => { :with => /^(0{2}|\+)/, :message => I18n.t('validation.need_international_format') } First, is this the correct way to add custom validation messages or am I doing it wrong? Now, if I understand this correctly the model is only loaded once, at boot time. So I think the message is also only evaluated once, again, at boot time. If my default locale is English it means the English message is used. Now, if I switch to French without restarting the application Rails will use the French message without reevaluating the model?! How is this done? Thanks!
on 2010-08-12 10:56

on 2010-08-12 13:21

On Thu, Aug 12, 2010 at 10:50, Peter <hamfilter@gmail.com> wrote: > I would like to show custom translated error messages (based on the > locale in the URL) for my validations. I have to following: > > validates :phone, :format => { :with => /^(0{2}|\+)/, :message => > I18n.t('validation.need_international_format') } > > First, is this the correct way to add custom validation messages or am > I doing it wrong? Use :message => :need_international_format and e.g. en: activerecord: errors: models: customer: need_international_format: "must be in the international format" See http://guides.rubyonrails.org/i18n.html for more info.
on 2010-08-12 17:34

Great, this works much better! Thanks Henrik.