validate([ 'name' => ['required', 'string', 'max:255'], 'surname' => ['required', 'string', 'max:255'], 'email' => ['required', 'string', 'lowercase', 'email', 'max:255', 'unique:'.User::class], 'password' => ['required', 'confirmed', Rules\Password::defaults()], 'role' => ['required', 'exists:roles,name'], // Walidacja – wybrane pole musi istnieć w tabeli roles ]); // 2. Utworzenie nowego użytkownika $user = User::create([ 'name' => $request->name, 'surname' => $request->surname, 'email' => $request->email, 'password' => Hash::make($request->password), ]); // 3. Przypisanie wybranej roli ze Spatie $user->assignRole($request->role); // 4. Wysłanie zdarzenia rejestracji i zalogowanie event(new Registered($user)); Auth::login($user); return redirect(route('dashboard', absolute: false)); } }