✅ Validación de formularios en Laravel
La validación de formularios es una parte esencial en cualquier aplicación web, ya que garantiza que los datos enviados por los usuarios sean correctos, seguros y coherentes. Laravel proporciona un sistema de validación simple, poderoso y personalizable que se integra directamente con los controladores y las peticiones HTTP.
🧾 1️⃣ Validación básica desde el controlador
La forma más sencilla de validar un formulario es usando el método validate() dentro de un controlador.
Supongamos que tenemos un formulario para registrar un usuario:
// app/Http/Controllers/UsuarioController.php
public function store(Request $request)
{
$validated = $request->validate([
'nombre' => 'required|min:3|max:50',
'email' => 'required|email|unique:users,email',
'password' => 'required|min:6|confirmed',
]);
// Si la validación pasa, continúa el proceso
User::create($validated);
return redirect()->back()->with('success', 'Usuario registrado correctamente');
}
Laravel automáticamente redirige al usuario de vuelta con los errores de validación y mantiene los datos del formulario antiguos.
🎯 2️⃣ Mostrando errores en la vista Blade
En tu vista Blade puedes mostrar los mensajes de error con la variable $errors que Laravel genera automáticamente:
@if ($errors->any())
@foreach ($errors->all() as $error)
- {{ $error }}
@endforeach
@endif
Así cada vez que haya un error de validación, el usuario lo verá de forma clara y automática.
⚙️ 3️⃣ Validación con Form Request
Laravel permite separar las reglas de validación en clases dedicadas llamadas Form Requests, lo que ayuda a mantener el código limpio y organizado.
php artisan make:request StoreUsuarioRequest
Esto crea una clase en app/Http/Requests/.
Dentro puedes definir tus reglas y mensajes personalizados:
// app/Http/Requests/StoreUsuarioRequest.php
public function rules()
{
return [
'nombre' => 'required|min:3|max:50',
'email' => 'required|email|unique:users,email',
'password' => 'required|min:6|confirmed',
];
}
public function messages()
{
return [
'nombre.required' => 'El campo nombre es obligatorio.',
'email.unique' => 'Este correo ya está registrado.',
];
}
Luego, en tu controlador simplemente inyectas la clase en lugar de Request:
public function store(StoreUsuarioRequest $request)
{
User::create($request->validated());
return redirect()->back()->with('success', 'Usuario creado correctamente');
}
🔍 4️⃣ Reglas de validación comunes
Laravel incluye una gran variedad de reglas ya preparadas:
required→ campo obligatorioemail→ formato de correo válidomin:x/max:x→ longitud mínima o máximaunique:tabla,columna→ valor único en la base de datosconfirmed→ requiere un campo con sufijo_confirmationnumeric,date,boolean, etc.
✅ Conclusión
- Laravel simplifica la validación con reglas legibles y mensajes automáticos.
- Los errores se gestionan fácilmente desde las vistas Blade.
- Las clases Form Request son ideales para mantener controladores limpios.
- Una validación sólida protege tu aplicación y mejora la experiencia del usuario.
0 Comentarios
Si desea contactar comigo, lo puede hacer atravez deste formulario gracias