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');
     }
 }
예제 #2
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');
     }
 }
예제 #3
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;
 }