$input */ public function create(array $input): User { Validator::make($input, [ // required 'username' => ['required', 'string', 'max:255', 'unique:users'], 'email' => ['required', 'string', 'email:rfc,dns', 'max:255', 'unique:users'], 'password' => $this->passwordRules(), // ----- 'first_name' => ['nullable', 'string', 'max:255'], 'last_name' => ['nullable', 'string', 'max:255'], 'phone' => ['nullable', 'string', 'max:20'], ])->validate(); return User::create([ 'username' => $input['username'], 'email' => $input['email'], 'password' => Hash::make($input['password']), // required 'first_name' => $input['first_name'] ?? null, 'last_name' => $input['last_name'] ?? null, 'phone' => $input['phone'] ?? null, 'type' => 'user', // default ]); event(new Registered($user)); return $user; } }