How would one validate the format of an email field in ActiveRecord?

asmista picture asmista · Dec 9, 2012 · Viewed 30.1k times · Source

I have a User model in a Rails application which has an email field. Is there a default validation that will ensure the email is in the correct format? If not, how would I go about validating that field?

Answer

Add in your gemfile:

gem 'validates_email_format_of'

and in your model:

validates :email, email_format: { message: "doesn't look like an email address" }

Or if you don't want use a gem, use regex:

validates_format_of :email, :with => /\A([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})\z/i