Re-add EmailValidator to avoid the repetition of format: { with: Devise.email_regexp }

This commit is contained in:
Rémy Coutable 2016-02-09 17:59:47 +01:00
parent b34963bc12
commit b3635ee46a
5 changed files with 10 additions and 6 deletions

View file

@ -71,7 +71,7 @@ class ApplicationSetting < ActiveRecord::Base
url: true url: true
validates :admin_notification_email, validates :admin_notification_email,
format: { with: Devise.email_regexp }, email: true,
allow_blank: true allow_blank: true
validates :two_factor_grace_period, validates :two_factor_grace_period,

View file

@ -15,7 +15,7 @@ class Email < ActiveRecord::Base
belongs_to :user belongs_to :user
validates :user_id, presence: true validates :user_id, presence: true
validates :email, presence: true, uniqueness: true, format: { with: Devise.email_regexp } validates :email, presence: true, uniqueness: true, email: true
validate :unique_email, if: ->(email) { email.email_changed? } validate :unique_email, if: ->(email) { email.email_changed? }
before_validation :cleanup_email before_validation :cleanup_email

View file

@ -38,8 +38,7 @@ class Member < ActiveRecord::Base
presence: { presence: {
if: :invite? if: :invite?
}, },
format: { email: {
with: Devise.email_regexp,
allow_nil: true allow_nil: true
}, },
uniqueness: { uniqueness: {

View file

@ -146,8 +146,8 @@ class User < ActiveRecord::Base
# Validations # Validations
# #
validates :name, presence: true validates :name, presence: true
validates :notification_email, presence: true, format: { with: Devise.email_regexp } validates :notification_email, presence: true, email: true
validates :public_email, presence: true, uniqueness: true, format: { with: Devise.email_regexp }, allow_blank: true validates :public_email, presence: true, uniqueness: true, email: true, allow_blank: true
validates :bio, length: { maximum: 255 }, allow_blank: true validates :bio, length: { maximum: 255 }, allow_blank: true
validates :projects_limit, presence: true, numericality: { greater_than_or_equal_to: 0 } validates :projects_limit, presence: true, numericality: { greater_than_or_equal_to: 0 }
validates :username, validates :username,

View file

@ -0,0 +1,5 @@
class EmailValidator < ActiveModel::EachValidator
def validate_each(record, attribute, value)
record.errors.add(attribute, :invalid) unless value =~ Devise.email_regexp
end
end