Reputation: 165
I previously posted a question about how to use validations to only allow visitor using an email address ending with @grenoble-em.com to be able to register on my website. I am using devise 3 and Rails 4. I am fairly new to it and would appreciate any answer. Here is my user model.
class User < ActiveRecord::Base
# Include default devise modules. Others available are:
# :confirmable, :lockable, :timeoutable and :omniauthable
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
has_attached_file :picture, :styles => { :medium => "300x300>", :thumb => "100x100>" }, :default_url => "/images/:style/missing.png"
validates_attachment_content_type :picture, :content_type => /\Aimage\/.*\Z/
validates :email, uniqueness: true
end
Thank you all in advance. You guys do a great job helping people :)
Upvotes: 1
Views: 1040
Reputation: 1959
If you simply want to validate that the email contains that domain, and not much else, you can add this validator:
class User < ActiveRecord::Base
validates_format_of :email, with: /\@grenoble-em\.com/, message: 'You should have an email from grenoble-em.com'
end
You can read more about all the validators here: http://api.rubyonrails.org/classes/ActiveModel/Validations/HelperMethods.html
Upvotes: 1