This gem adds the capability of validating email addresses to ActiveModel
.
The gem only supports Rails 3 (has dependencies in ActiveModel and ActiveSupport 3.0)
# add this to your Gemfile
gem "validate_email"
# and then run
rake gems:install
# or just run
sudo gem install validate_email
class Pony < ActiveRecord::Base
# standard validation
validates :email_address, :email => true
# with allow_nil
validates :email_address, :email => {:allow_nil => true}
# with allow_blank
validates :email_address, :email => {:allow_blank => true}
end
class Unicorn
include ActiveModel::Validations
attr_accessor :email_address
# with legacy syntax (the syntax above works also)
validates_email :email_address, :allow_blank => true
end
The error message will be looked up according to the standard ActiveModel::Errors scheme. For the above Unicorn class this would be:
- activemodel.errors.models.unicorn.attributes.email_address.email
- activemodel.errors.models.unicorn.email
- activemodel.errors.messages.email
- errors.attributes.email_address.email
- errors.messages.email
A default errors.messages.email of is not a valid email address
is provided.
You can also pass the :message => "my custom error"
option to your validation to define your own custom message.
Tanel Suurhans (http://twitter.com/tanelsuurhans)
Tarmo Lehtpuu (http://twitter.com/tarmolehtpuu)
Copyright 2010 by PerfectLine LLC (http://www.perfectline.co.uk) and is released under the MIT license.