Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Custom Error Message Rails plugin
Ruby
branch: master

This branch is 2 commits ahead, 16 commits behind jeremydurham:master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
lib
MIT-LICENSE
README
init.rb

README

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
Something went wrong with that request. Please try again.