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
validates :admin_notification_email,
format: { with: Devise.email_regexp },
email: true,
allow_blank: true
validates :two_factor_grace_period,

View file

@ -15,7 +15,7 @@ class Email < ActiveRecord::Base
belongs_to :user
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? }
before_validation :cleanup_email

View file

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

View file

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