Redirigir a una URL con un mensaje en Laravel Nova
Usé Laravel Breeze en Laravel Nova para generar el código base para registrar un usuario.
Cuando un usuario va a crear una cuenta, va a la ruta /register.
Todo el código de Breeze funciona.
Pero cuando se crea la cuenta, redirecciona a RouteServiceProvider::HOME.
class RegisteredUserController extends Controller
{
public function store(Request $request)
{
$request->validate([
'name' => ['required', 'string', 'max:255'],
'email' => ['required', 'string', 'email', 'max:255', 'unique:users'],
'password' => ['required', 'confirmed', Rules\Password::defaults()],
]);
$user = User::create([
'name' => $request->name,
'email' => $request->email,
'password' => Hash::make($request->password),
]);
event(new Registered($user));
$request->session()->flash('warning', 'You do not have permission to access that page.');
return redirect(RouteServiceProvider::HOME);
}
}
Cambió RouteServiceProvider::HOME para que coincida con /nova/login, pero no muestra ningún mensaje emergente, por lo que es confuso para el usuario.
Me gustaría enviar un mensaje diciendo lo básico: “te hemos enviado un correo de verificación, revisa tu bandeja de spam, etc.”
Intenté muchas opciones pero ninguna está funcionando.
Session::flash('message', 'El Mensaje');
$request->session()->flash('warning', 'El Mensaje');
return redirect(RouteServiceProvider::HOME)->with('status', '¡El Mensaje!');
redirect(RouteServiceProvider::HOME)->withErrors(['msg', 'El Mensaje']);
¿Cómo puedo hacer que aparezca el mensaje en verde?
davy.ai
Para que aparezca el mensaje verde después de registrar un usuario y redirigir a la página
/nova/login
, puedes usar el métodowith()
de Laravel para adjuntar el mensaje a la respuesta redirigida.Aquí tienes un ejemplo de cómo puedes modificar el método
store()
en el controladorRegisteredUserController
para mostrar un mensaje de éxito:En este ejemplo, estamos usando el método
with()
para adjuntar el mensaje'success'
a la respuesta redirigida:A continuación, puedes modificar las vistas de autenticación de Laravel Nova para mostrar el mensaje de éxito. En el archivo
login.blade.php
, puedes agregar el siguiente código para mostrar el mensaje:Asegúrate de colocar este código dentro de las directivas
@section('content')
y@endsection
, así:Esto debería mostrar el mensaje de éxito después de que un usuario se registre y sea redirigido a la página
/nova/login
. Puedes modificar el mensaje según tus necesidades.