fix email validate
This commit is contained in:
@@ -70,8 +70,10 @@ module Params
|
|||||||
def email_format(params, key, message: nil)
|
def email_format(params, key, message: nil)
|
||||||
return if params.blank?
|
return if params.blank?
|
||||||
return if params[key].blank?
|
return if params[key].blank?
|
||||||
|
return if params[key].to_s.include?('<')
|
||||||
|
|
||||||
if params[key].to_s.strip.split(/\s*[;,]\s*/).all? { |email| EmailTypo::DotCom.call(email).match?(EMAIL_REGEXP) }
|
if params[key].to_s.strip.split(/\s*[;,]\s*/).compact_blank
|
||||||
|
.all? { |email| EmailTypo::DotCom.call(email).match?(EMAIL_REGEXP) }
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ RSpec.describe Params::BaseValidator do
|
|||||||
emails = [
|
emails = [
|
||||||
' john.doe@example.com ',
|
' john.doe@example.com ',
|
||||||
'john.doe@example.com',
|
'john.doe@example.com',
|
||||||
|
'Test <john.doe@example.com>',
|
||||||
'jane+newsletter@domain.org',
|
'jane+newsletter@domain.org',
|
||||||
'mike_smith@company.net',
|
'mike_smith@company.net',
|
||||||
'lisa-wong@sub.example.co.uk',
|
'lisa-wong@sub.example.co.uk',
|
||||||
@@ -49,7 +50,6 @@ RSpec.describe Params::BaseValidator do
|
|||||||
|
|
||||||
it 'when multiple emails are valid' do
|
it 'when multiple emails are valid' do
|
||||||
emails = [
|
emails = [
|
||||||
|
|
||||||
'john.doe@example.com, jane.doe+newsletter@domain.org',
|
'john.doe@example.com, jane.doe+newsletter@domain.org',
|
||||||
'joshua@automobile.car ; chloe+fashion@food.delivery',
|
'joshua@automobile.car ; chloe+fashion@food.delivery',
|
||||||
'mike-smith@company.net;lisa.wong-sales@sub.example.co.uk',
|
'mike-smith@company.net;lisa.wong-sales@sub.example.co.uk',
|
||||||
@@ -78,9 +78,7 @@ RSpec.describe Params::BaseValidator do
|
|||||||
|
|
||||||
it 'when multiple emails are invalid' do
|
it 'when multiple emails are invalid' do
|
||||||
emails = [
|
emails = [
|
||||||
'jone@gmail.com, ,mike@gmail.com',
|
|
||||||
'john.doe@example.com dave@nonprofit.org',
|
'john.doe@example.com dave@nonprofit.org',
|
||||||
'; oliver.scott@example.com',
|
|
||||||
'amy.baker@ example.com, george.morris@ example.com',
|
'amy.baker@ example.com, george.morris@ example.com',
|
||||||
'jenny.king@example.com . diana.robinson@example.com',
|
'jenny.king@example.com . diana.robinson@example.com',
|
||||||
'nancy.davis@.com, henry.ford@.com',
|
'nancy.davis@.com, henry.ford@.com',
|
||||||
|
|||||||
Reference in New Issue
Block a user