/** * {@inheritDoc} */ public function validateEntity(EntityInterface $entity, ErrorStore $errorStore) { if (false == $entity->getName()) { $errorStore->addError('o:name', 'The name cannot be empty.'); } $email = $entity->getEmail(); $validator = new EmailAddress(); if (!$validator->isValid($email)) { $errorStore->addValidatorMessages('o:email', $validator->getMessages()); } if (!$this->isUnique($entity, ['email' => $email])) { $errorStore->addError('o:email', sprintf('The email "%s" is already taken.', $email)); } if (false == $entity->getRole()) { $errorStore->addError('o:role', 'Users must have a role.'); } }