Browse the Ruby on Rails Community.

You are here: Browse Railsplugins Custom Err Msg

Custom Err Msg

Custom Error Message

This plugin gives you the option to not have your custom validation error message prefixed with the attribute name. Ordinarily, if you have, say:

validates_acceptance_of :accepted_terms, :message => 'Please accept the terms of service'

You’ll get the following error message:

Accepted terms Please accept the terms of service

This plugin allows you to omit the attribute name for specific messages. All you have to do is begin the message with a ‘’ character. Example:

validates_acceptance_of :accepted_terms, :message => 'Please accept the terms of service'

Nigel Ramsay added the ability to specify a proc to generate the message.

validates_presence_of :assessment_answer_option_id, 
  :message => Proc.new { |aa| "#{aa.label} (#{aa.group_label}) is required" }
which gives an error message like: Rate (Accuracy) is required

Detail

Redefine the ActiveRecord::Errors::full_messages method: Returns all the full error messages in an array. ‘Base’ messages are handled as usual. Non-base messages are prefixed with the attribute name as usual UNLESS (1) they begin with ‘’ in which case the attribute name is omitted. E.g. validates_acceptance_of :accepted_terms, :message => ‘Please accept the terms of service’ (2) the message is a proc, in which case the proc is invoked on the model object. E.g. validates_presence_of :assessment_answer_option_id, :message => Proc.new { |aa| ”#{aa.label} (#{aa.group_label}) is required” } which gives an error message like: Rate (Accuracy) is required

Download

http://rubyforge.org/projects/custom-error-message/

Bugs & feedback

Please send bug reports, patches and feedback to David Easley at easleydp@gmail.com

NOTE: This description has been extracted from the Plugin README and so the formatting may need updating to make browser friendly

Users


See all 16 member details


Membership

+ Join this railsplugin

Record Maintainer

'None'