/** * @param UserInterface $user * @param $newPassword * @return ConstraintViolationList */ public function changeUserPassword(UserInterface $user, $newPassword) { $user->setChangedValue(); $encoder = $this->securityFactory->getEncoder($user); $password = $encoder->encodePassword($newPassword, $user->getSalt()); $user->setPassword($password); /** * @var $validator Validator */ $validator = $this->container->get('validator'); $passwordConstraints = $this->getPasswordValidatorConstraints(); $passwordConstraints[] = new \Symfony\Component\Validator\Constraints\NotBlank(); $errorsPassword = $validator->validateValue($newPassword, $passwordConstraints); if ($errorsPassword->count() === 0) { $this->em->persist($user); $this->em->flush(); } return $errorsPassword; }