Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Validate e-mail addreses against RFC 2822 and RFC 3696 with this Ruby on Rails plugin and gem.
Ruby
Tag: 1.4.3

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
config/locales
lib
rails
test
.gitignore
CHANGELOG.rdoc
MIT-LICENSE
README.rdoc
init.rb
rakefile.rb
validates_email_format_of.gemspec

README.rdoc

validates_email_format_of Gem and Rails Plugin

Validate e-mail addresses against RFC 2822 and RFC 3696.

Installation

Installing as a gem:

gem install validates_email_format_of

Installing as a Ruby on Rails 2 plugin:

./script/plugin install http://github.com/alexdunae/validates_email_format_of.git

Or in your Rails 3 Gemfile

gem 'validates_email_format_of', :git => 'git://github.com/alexdunae/validates_email_format_of.git'

Usage

class Person < ActiveRecord::Base
  validates_email_format_of :email
end

As of version 1.4, it's possible to run e-mail validation tests (including MX checks) without using ActiveRecord or even touching a database. The validate_email_format method will return nil on a valid e-mail address or an array of error messages for invalid addresses.

results = ValidatesEmailFormatOf::validate_email_format(email, options)

if results.nil?
  # success!
else
  puts results.join(', ')
end

Options

:message
   String. A custom error message (default is: " does not appear to be a valid e-mail address")
:on
   Symbol. Specifies when this validation is active (default is :save, other options :create, :update)
:allow_nil
   Boolean. Allow nil values (default is false)
:allow_blank
   Boolean. Allow blank values (default is false)
:check_mx
   Boolean. Check domain for a valid MX record (default is false)
:if
   Specifies a method, proc or string to call to determine if the validation should occur 
   (e.g. :if => :allow_validation, or :if => Proc.new { |user| user.signup_step > 2 }). The method, 
   proc or string should return or evaluate to a true or false value. 
:unless
   See :if option.

Testing

To execute the unit tests run rake test.

The unit tests for this plugin use an in-memory sqlite3 database.

Resources

Credits

Written by Alex Dunae (dunae.ca), 2006-10.

Many thanks to the plugin's recent contributors: github.com/alexdunae/validates_email_format_of/contributors

Thanks to Francis Hwang (fhwang.net/) at Diversion Media for creating the 1.1 update.

Thanks to Travis Sinnott for creating the 1.3 update.

Thanks to Denis Ahearn at Riverock Technologies (www.riverocktech.com/) for creating the 1.4 update.

Thanks to George Anderson (github.com/george) and 'history' (github.com/history) for creating the 1.4.1 update.

Something went wrong with that request. Please try again.