all(), [ 'name' => 'required|string|max:32|alpha_dash', 'email' => 'required|string|lowercase|email|max:255|unique:'.User::class, 'password' => ['required', 'confirmed', Rules\Password::defaults()], ]); $validator->after(function ($validator) use ($request) { if (User::whereRaw(DB::raw('LOWER(name) = ?'), [strtolower($request->name)])->exists()) { $validator->errors()->add('name', 'The name has already been taken.'); } }); $validator->validate(); $user = User::create([ 'name' => $request->name, 'email' => $request->email, 'password' => Hash::make($request->password), ]); event(new Registered($user)); Auth::login($user); return redirect(route('dashboard', absolute: false)); } }