validate([ 'username' => [ 'required', 'string', 'max:255', 'alpha_dash', function ($attribute, $value, $fail) { $exists = User::whereRaw('LOWER(username) = ?', [strtolower($value)])->exists(); if ($exists) { $fail('The username has already been taken.'); } }, ], 'first_name' => ['required', 'string', 'max:255'], 'last_name' => ['required', 'string', 'max:255'], 'email' => ['required', 'string', 'lowercase', 'email', 'max:255', 'unique:'.User::class], 'password' => ['required', 'confirmed', Rules\Password::defaults()], ]); $user = User::create([ 'username' => $request->username, 'first_name' => $request->first_name, 'last_name' => $request->last_name, 'email' => $request->email, 'password' => Hash::make($request->password), ]); event(new Registered($user)); Auth::login($user); return redirect(config('auth-ui.redirects.register', '/')); } }