validate value for email champ
This commit is contained in:
parent
88f680a265
commit
c2461f230c
4 changed files with 44 additions and 0 deletions
|
@ -21,4 +21,11 @@
|
|||
# type_de_champ_id :integer
|
||||
#
|
||||
class Champs::EmailChamp < Champs::TextChamp
|
||||
validates :value,
|
||||
format: {
|
||||
with: Devise.email_regexp,
|
||||
message: I18n.t('invalid', scope: 'activerecord.errors.models.email_champ.attributes.value')
|
||||
},
|
||||
allow_nil: true,
|
||||
if: -> { validation_context != :brouillon }
|
||||
end
|
||||
|
|
|
@ -561,6 +561,10 @@ en:
|
|||
attributes:
|
||||
email:
|
||||
taken: ': Invitation already sent'
|
||||
email_champ:
|
||||
attributes:
|
||||
value:
|
||||
invalid: "is invalid. Fill in a valid email address, example: john.doe@example.fr"
|
||||
|
||||
user:
|
||||
attributes: &error_attributes
|
||||
|
|
|
@ -562,6 +562,10 @@ fr:
|
|||
attributes:
|
||||
email:
|
||||
taken: ': Invitation déjà envoyée'
|
||||
email_champ:
|
||||
attributes:
|
||||
value:
|
||||
invalid: "est invalide. Saisir une adresse éléctronique valide, exemple : john.doe@exemple.fr"
|
||||
user:
|
||||
attributes: &error_attributes
|
||||
reset_password_token:
|
||||
|
|
29
spec/models/champs/email_champ_spec.rb
Normal file
29
spec/models/champs/email_champ_spec.rb
Normal file
|
@ -0,0 +1,29 @@
|
|||
describe Champs::EmailChamp do
|
||||
subject { build(:champ_email, value: value).tap(&:valid?) }
|
||||
|
||||
describe '#valid?' do
|
||||
context 'when the value is an email' do
|
||||
let(:value) { 'jean@dupont.fr' }
|
||||
|
||||
it { is_expected.to be_valid }
|
||||
end
|
||||
|
||||
context 'when the value is not an email' do
|
||||
let(:value) { 'jean@' }
|
||||
|
||||
it { is_expected.to_not be_valid }
|
||||
end
|
||||
|
||||
context 'when the value is blank' do
|
||||
let(:value) { '' }
|
||||
|
||||
it { is_expected.to_not be_valid }
|
||||
end
|
||||
|
||||
context 'when the value is nil' do
|
||||
let(:value) { nil }
|
||||
|
||||
it { is_expected.to be_valid }
|
||||
end
|
||||
end
|
||||
end
|
Loading…
Reference in a new issue