Skip to content
An email validator for Rails 3 and 4.
Ruby
Find file
Latest commit 738d73a Sep 16, 2015 @balexand Merge pull request #30 from raventid/patch-1
updates ruby symbol syntax in README.md

README.md

Build Status

Usage

Add to your Gemfile:

gem 'email_validator'

Run:

bundle install

Then add the following to your model:

validates :my_email_attribute, email: true

Strict mode

In order to have stricter validation (according to http://www.remote.org/jochen/mail/info/chars.html) enable strict mode. You can do this globally by adding the following to your Gemfile:

gem 'email_validator', require: 'email_validator/strict'

Or you can do this in a specific validates call:

validates :my_email_attribute, email: {strict_mode: true}

Validation outside a model

If you need to validate an email outside a model, you can get the regexp :

Normal mode

EmailValidator.regexp # returns the regex
EmailValidator.valid?('narf@example.com') # boolean

Strict mode

EmailValidator.regexp(strict_mode: true)

Thread safety

This gem is thread safe, with one caveat: EmailValidator.default_options must be configured before use in a multi-threaded environment. If you configure default_options in a Rails initializer file, then you're good to go since initializers are run before worker threads are spawned.

Credit

Based on http://thelucid.com/2010/01/08/sexy-validation-in-edge-rails-rails-3

Regular Expression based on http://fightingforalostcause.net/misc/2006/compare-email-regex.php tests.

Something went wrong with that request. Please try again.