firstname = null; $this->addFirstName(); $this->lastname = null; $this->addLastName(); $this->email = null; $this->addEmail(); $user = new User([ 'firstname' => $this->firstname, 'lastname' => $this->lastname, 'email' => $this->email ]); $user->saveOrFail(); $this->info('User created 👌'); return 0; } /** * Add a first name to the user. * * @return void */ private function addFirstName(): void { while (is_null($this->firstname)) { try { $tmp = $this->ask('Type the wanted user first name', 'Admin'); $validator = Validator::make(['firstname' => $tmp], [ 'firstname' => 'required|min:3|max:255' ]); $validator->validate(); $this->firstname = $tmp; } catch (ValidationException $e) { $this->error(sprintf( 'Please provide a valid first name %s', \implode(',', collect($e->errors())->flatten()->all()) )); continue; } //end try }; } /** * Add a last name to the user. * * @return void */ private function addLastName(): void { while (is_null($this->lastname)) { try { $tmp = $this->ask('Type the wanted user last name', 'Saïtama'); $validator = Validator::make(['lastname' => $tmp], [ 'lastname' => 'required|min:3|max:255' ]); $validator->validate(); $this->lastname = $tmp; } catch (ValidationException $e) { $this->error(sprintf( 'Please provide a valid lastname %s', \implode(',', collect($e->errors())->flatten()->all()) )); continue; } //end try }; } /** * Add an email to the user. * * @return void */ private function addEmail(): void { while (is_null($this->email)) { try { $tmp = $this->ask('Type the wanted user email', 'equipe.web@ldc.fr'); $validator = Validator::make(['email' => $tmp], [ 'email' => 'required|unique:users,email|email:rfc,dns' ]); $validator->validate(); $this->email = $tmp; } catch (ValidationException $e) { $this->error(sprintf( 'Please provide a valid email %s', \implode(',', collect($e->errors())->flatten()->all()) )); continue; } //end try }; } }