em = $em; } public function validate($value, Constraint $constraint) { if (!empty($value)) { // On s'assure que le login soit de 5 caractères minimum if (strlen($value) < '5') { $this->context->addViolation($constraint->messageinvalid); } // On s'assure que le username ne contient pas des caractères speciaux $string = preg_replace('~[^@a-zA-Z0-9._-]~', '', $value); if ($string != $value) { $this->context->addViolation($constraint->messageinvalid); } // On s'assure que le username n'existe pas dans la table des registration $registration = $this->em->getRepository("App\Entity\Registration")->findOneBy(['username' => $value]); if ($registration) { $this->context->addViolation($constraint->messagenotunique); } } } }