/** * @param string $login * @param string $password * @param string $confirmationPassword * @param string $email * * @return array */ public function validate($login, $password, $confirmationPassword, $email) { $errors = []; $member = $this->repository->getExistingLoginOrEmail($login, $email); if ($member !== false) { if ($member['login'] === $login && $member['identity'] === $login) { $errors[] = $this->translator->translate('registration.existing_login'); } if ($member['email'] === $email) { $errors[] = $this->translator->translate('registration.existing_mail'); } } if ($password !== $confirmationPassword) { $errors[] = $this->translator->translate('registration.password_mismatch'); } if (!$this->validateIdentity($login)) { $errors[] = $this->translator->translate('registration.invalid_login'); } if (!$this->validateEmailAddress($email)) { $errors[] = $this->translator->translate('registration.invalid_mail'); } return $errors; }