Loading module/Application/src/Application/Form/Validator/NewEmailValidator.php +3 −3 Changes for module/Application/src/Application/Form/Validator/NewEmailValidator.php: 3 added lines, 3 removed lines. Original line number Diff line number Diff line Loading @@ -15,7 +15,7 @@ class NewEmailValidator extends AbstractValidator const UTILISATEUR = 'utilisateur'; const INDIVIDU = 'individu'; protected array $perimetre = [self::UTILISATEUR, self::INDIVIDU]; protected array $perimetre = []; protected array $messageTemplates = [ self::UTILISATEUR => "Adresse électronique déjà utilisée (Utilisateur)", Loading @@ -35,13 +35,13 @@ class NewEmailValidator extends AbstractValidator if (in_array('utilisateur', $perimetre)) { if ($this->entityManager->getRepository(Individu::class)->findOneBy(['email' => $value]) !== null) { $this->error(self::INDIVIDU); $this->error(self::UTILISATEUR); $nb_pb++; } } if (in_array('individu', $perimetre)) { if ($this->entityManager->getRepository(Utilisateur::class)->findOneBy(['email' => $value]) !== null) { $this->error(self::UTILISATEUR); $this->error(self::INDIVIDU); $nb_pb++; } } Loading module/Individu/src/Individu/Form/IndividuForm.php +16 −6 Changes for module/Individu/src/Individu/Form/IndividuForm.php: 16 added lines, 6 removed lines. Original line number Diff line number Diff line Loading @@ -14,6 +14,7 @@ use Laminas\Form\Element\Submit; use Laminas\Form\Element\Text; use Laminas\Form\Form; use Laminas\InputFilter\InputFilterProviderInterface; use Laminas\Validator\EmailAddress; class IndividuForm extends Form implements InputFilterProviderInterface { Loading Loading @@ -115,6 +116,20 @@ class IndividuForm extends Form implements InputFilterProviderInterface */ public function getInputFilterSpecification(): array { /** @var \Individu\Entity\Db\Individu $individu */ $individu = $this->getObject(); $emailValidators = []; $emailValidators[] = [ 'name' => EmailAddress::class, ]; if (!$individu instanceof Individu || !$individu->getId()) { $emailValidators[] = [ 'name' => NewEmailValidator::class, 'options' => ['perimetre' => ['individu']], ]; } return [ 'civilite' => [ 'name' => 'civilite', Loading @@ -139,12 +154,7 @@ class IndividuForm extends Form implements InputFilterProviderInterface 'email' => [ 'name' => 'email', 'required' => false, 'validators' => [ [ 'name' => NewEmailValidator::class, 'options' => ['perimetre' => ['individu']], ], ], 'validators' => $emailValidators, ], 'dateNaissance' => [ 'name' => 'dateNaissance', Loading Loading
module/Application/src/Application/Form/Validator/NewEmailValidator.php +3 −3 Changes for module/Application/src/Application/Form/Validator/NewEmailValidator.php: 3 added lines, 3 removed lines. Original line number Diff line number Diff line Loading @@ -15,7 +15,7 @@ class NewEmailValidator extends AbstractValidator const UTILISATEUR = 'utilisateur'; const INDIVIDU = 'individu'; protected array $perimetre = [self::UTILISATEUR, self::INDIVIDU]; protected array $perimetre = []; protected array $messageTemplates = [ self::UTILISATEUR => "Adresse électronique déjà utilisée (Utilisateur)", Loading @@ -35,13 +35,13 @@ class NewEmailValidator extends AbstractValidator if (in_array('utilisateur', $perimetre)) { if ($this->entityManager->getRepository(Individu::class)->findOneBy(['email' => $value]) !== null) { $this->error(self::INDIVIDU); $this->error(self::UTILISATEUR); $nb_pb++; } } if (in_array('individu', $perimetre)) { if ($this->entityManager->getRepository(Utilisateur::class)->findOneBy(['email' => $value]) !== null) { $this->error(self::UTILISATEUR); $this->error(self::INDIVIDU); $nb_pb++; } } Loading
module/Individu/src/Individu/Form/IndividuForm.php +16 −6 Changes for module/Individu/src/Individu/Form/IndividuForm.php: 16 added lines, 6 removed lines. Original line number Diff line number Diff line Loading @@ -14,6 +14,7 @@ use Laminas\Form\Element\Submit; use Laminas\Form\Element\Text; use Laminas\Form\Form; use Laminas\InputFilter\InputFilterProviderInterface; use Laminas\Validator\EmailAddress; class IndividuForm extends Form implements InputFilterProviderInterface { Loading Loading @@ -115,6 +116,20 @@ class IndividuForm extends Form implements InputFilterProviderInterface */ public function getInputFilterSpecification(): array { /** @var \Individu\Entity\Db\Individu $individu */ $individu = $this->getObject(); $emailValidators = []; $emailValidators[] = [ 'name' => EmailAddress::class, ]; if (!$individu instanceof Individu || !$individu->getId()) { $emailValidators[] = [ 'name' => NewEmailValidator::class, 'options' => ['perimetre' => ['individu']], ]; } return [ 'civilite' => [ 'name' => 'civilite', Loading @@ -139,12 +154,7 @@ class IndividuForm extends Form implements InputFilterProviderInterface 'email' => [ 'name' => 'email', 'required' => false, 'validators' => [ [ 'name' => NewEmailValidator::class, 'options' => ['perimetre' => ['individu']], ], ], 'validators' => $emailValidators, ], 'dateNaissance' => [ 'name' => 'dateNaissance', Loading