Validación en Laravel

validación

Validación en Laravel

La validación es una de las partes más importantes de cualquier servicio de backend. Proteger sus formularios de respuestas no deseadas que pueden usarse para piratear su sistema o crear cualquier error. Siempre que se tomen datos de los usuarios a través de formularios o cualquier otro medio, se debe tener mucho cuidado. Todas y cada una de las respuestas deben verificarse antes de pasar a los servidores o bases de datos.

validación


Laravel proporciona una forma muy eficiente, organizada y fácil de validar respuestas o solicitudes. Incluso se puede usar para verificar la unicidad, la forma correcta de los datos y otras cosas. Es muy fácil en Laravel validar la solicitud http con el uso del método de validación de la clase Request.

Laravel incluye una amplia variedad de reglas de validación convenientes que puede aplicar a las entradas. Proporciona una forma muy sencilla de mostrar mensajes de error directamente en el archivo blade.

Hay varias formas de validar solicitudes en Laravel. Algunos de los métodos más utilizados son:

Validar método:

Sintaxis:

El método de validación acepta un máximo de 2 parámetros, el primero es la matriz de reglas y el segundo es la matriz de mensajes.

validate($rules,$messages);

Las reglas también se pueden escribir así:

'email' => 'required|email|unique:users'

Como puede ver, hay varias reglas aplicadas en un solo campo de “correo electrónico”.

Si desea que Laravel se detenga en la primera regla, puede agregar “fianza” a las reglas de esta manera:

'email' => 'bail|required|email|unique:users'

Si desea aplicar la validación en un objeto anidado como si tuviera una matriz de variable de entrada y desea aplicar la validación en los elementos de la matriz, puede hacer lo siguiente:

'book.name' => 'required'

Fachada del validador

Laravel proporciona una fachada si no desea aplicar la validación mediante el método de validación. Hay algunas funciones adicionales proporcionadas por la fachada, como redirigir al usuario a otra página si falla la validación.

Puede implementar la validación usando una fachada como esta:

Sintaxis:

La fachada del validador tiene un método llamado “hacer” que se utiliza para implementar la validación. Acepta 3 parámetros. El primero son los campos en los que se aplicará la validación, el segundo son las reglas y el tercero son los mensajes personalizados que se mostrarán. Cada parámetro es una matriz.

Validator::make($fields,$rules,$message)

Laravel redirige automáticamente a la ruta desde la que se inicia la solicitud con los mensajes de error. Si desea redirigir a otro lugar, puede utilizar el método “falla” para comprobar si la validación ha fallado.

if($validator->fails()){
    return redirect()->route('abc')
                     ->withInputs($request->all())
                     ->withErrors($validator);
} 

Si desea verificar si la validación pasa, también hay un método para ello:

if($validator->passes()){
//
}

Para obtener campos validados, puede utilizar el método validado o el método seguro. Además, incluso puede obtener solo los campos que desea usar o puede excluir algunos campos como estos:

$validator->validated(); //array of validated fields

Si desea realizar la recopilación de campos seguros, puede hacerlo así:

$validator->safe()->collect();

Si desea detener el validador para que se ejecute después de la primera falla, puede usar el método “stopOnFirstFailure” encadenado con el método “falla” disponible con la fachada del Validator de la siguiente manera:

if ($validator->stopOnFirstFailure()->fails()) {
// ...
}

FormRequests

Syntax:

public function store(UserRequest $request){
//
}

Una forma eficiente de crear validación y validar las entradas de solicitud http es mediante el uso de FormRequests que se puede crear fácilmente con el comando composer:

php artisan make:request UserRequest

Las solicitudes de formulario tienen un método de reglas para crear reglas y un método de mensajes para crear mensajes personalizados como este:

//for stoping on first failure

Todos los métodos de validación disponibles se enumeran aquí:

https://laravel.com/docs/8.x/validation#available-validation-rules


Espero que le guste el blog y, si le gusta, no olvide presionar el ícono de like y si quiere leer más blogs de este tipo, sígame.

Recent Post