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); } } } }