Esempio n. 1
0
 public function validate(SignUpParameters $parameters)
 {
     $isValid = filter_var($parameters->getEmail(), FILTER_VALIDATE_EMAIL) !== false;
     if (!$isValid) {
         throw new ValidationException('Invalid email format');
     }
 }
 public function validate(SignUpParameters $signUpParameters)
 {
     $password = $signUpParameters->getPassword();
     $isValid = is_string($password) && strlen($password) >= 6 || strlen($password) <= 40;
     if (!$isValid) {
         throw new ValidationException('Password must be at least 6 characters');
     }
 }
Esempio n. 3
0
 public function validate(SignUpParameters $parameters)
 {
     $hasSameAccount = $this->accountService->hasAccountWithEmail($parameters->getEmail());
     $isValid = !$hasSameAccount;
     if (!$isValid) {
         throw new DuplicateAccountException(sprintf('%s already in use.', $parameters->getEmail()));
     }
 }
Esempio n. 4
0
 public function validate(SignUpParameters $signUpParameters)
 {
     $hasEmail = strlen($signUpParameters->getEmail()) > 0;
     $hasPassword = !empty($signUpParameters->getPassword());
     $isValid = $hasEmail && $hasPassword;
     if (!$isValid) {
         throw new MissingRequiredFieldException('Email and password are required');
     }
 }
Esempio n. 5
0
 public function signUp(SignUpParameters $signUpParameters) : Account
 {
     $email = $signUpParameters->getEmail();
     $password = $signUpParameters->getPassword();
     array_map(function (SignUpValidator $validator) use($signUpParameters) {
         $validator->validate($signUpParameters);
     }, [new HasAllRequiredFields(), new IsEmailValid(), new PasswordHasRequiredLength(), new HasSameAccount($this->accountService)]);
     $account = $this->accountService->createAccount($email, $password);
     $this->auth($account);
     return $account;
 }