Mostrar Errores de Validación
Comprar curso

107. Mostrar Errores de Validación

En este capítulo, descubre cómo mostrar errores de validación en Laravel 10. Aprende cómo mostrar los errores de validación en la vista y cómo personalizar el mensaje de error para cada regla de validación.


3 comentarios

Inicia sesión para comentar

Comentarios:

  • Victor Arana Flores

    Victor Arana Flores hace 1 año Destacado

    En este capítulo, te enseñaré cómo manejar los errores de validación en Laravel 10. Cuando se trata de formularios, es esencial asegurarse de que los datos ingresados sean válidos antes de guardarlos en la base de datos. Para lograr esto, Laravel proporciona un sistema de validación muy útil que permite validar los datos ingresados por el usuario.

    Si los datos ingresados no cumplen con las reglas de validación, Laravel automáticamente redirigirá al usuario a la página anterior y mostrará los errores de validación correspondientes. En este capítulo, veremos cómo mostrar los errores de validación en la vista y cómo personalizar los mensajes de error.

    Para empezar, definiremos las reglas de validación en el controlador. Por ejemplo, si queremos asegurarnos de que un campo de nombre sea obligatorio y tenga una longitud máxima de 255 caracteres, podemos definir las reglas de validación de la siguiente manera:

    $validatedData = $request->validate([
       'name' => 'required|max:255',
    ]);

    Si los datos ingresados no cumplen con estas reglas, Laravel automáticamente redirigirá al usuario a la página anterior y mostrará los errores de validación correspondientes.

    Ahora, para mostrar los errores de validación en la vista, podemos utilizar la función errors() de Laravel. Esta función devuelve una instancia de la clase MessageBag, que contiene todos los errores de validación.

    Por ejemplo, si queremos mostrar los errores de validación para el campo de nombre, podemos hacerlo de la siguiente manera:

    <input type="text" name="name" value="{{ old('name') }}">
    @if ($errors->has('name'))
       <div class="alert alert-danger">{{ $errors->first('name') }}</div>
    @endif

    En este ejemplo, estamos utilizando la función old() de Laravel para repoblar el valor del campo de nombre en caso de que haya un error de validación. Si hay errores de validación para el campo de nombre, estamos mostrando el primer mensaje de error usando la función first() de la clase MessageBag.

    Finalmente, si deseas personalizar los mensajes de error para cada regla de validación, puedes hacerlo definiendo una matriz de mensajes personalizados en el controlador. Por ejemplo, si deseas personalizar el mensaje de error para la regla required, puedes hacerlo de la siguiente manera:

    $customMessages = [
       'required' => 'El campo :attribute es obligatorio.',
    ];
    $validatedData = $request->validate([
       'name' => 'required|max:255',
    ], $customMessages);

    En este ejemplo, estamos definiendo un mensaje personalizado para la regla required. El mensaje personalizado incluye un marcador de posición :attribute, que será reemplazado por el nombre del campo correspondiente.

    En resumen, en este capítulo hemos aprendido cómo manejar los errores de validación en Laravel 10. Hemos visto cómo definir las reglas de validación en el controlador, cómo mostrar los errores de validación en la vista y cómo personalizar los mensajes de error. Ahora puedes utilizar este conocimiento para crear formularios más robustos y seguros en tu aplicación Laravel.

  • Yean Martinez

    Yean Martinez hace 11 meses

    Hola Victor, mi pregunta es la siguiente, como hago para validar un campo unico, es decir, estoy haciendo una tabla de Alumnos, y quien crea a los alumnos es un usuario con rol administrador, por lo que la tabla User ya la estoy usando y realice una tabla para Alumnos, cada alumnotiene su numero de documento, cre el campo en la migración: $table→integer('documento')→unique(); y al enviar el formulario me genera error: Validation rule unique requires at least 1 parameters.

    Illuminate \ Validation \ Validator : 2443

    requireParameterCount

     if (count($parameters) < $count) {
                throw new InvalidArgumentException("Validation rule $rule requires at least $count parameters.");
            }
        }

    Como se resolveria este inconveniente.

     

    Muchas Gracias

    • Victor Arana Flores hace 11 meses

      Hola Yean, en el capitulo 107 hablo sobre la regla unique

  • Hugo Emanuel Ifran

    Hugo Emanuel Ifran hace 1 año

    porque usas bootstrap si despues vas aultilizar otra libreria, me parece que confunde un poco