✅ Noticias, temas, complementos de WEB y WordPress. Aquí compartimos consejos y las mejores soluciones para sitios web.

Una guía para principiantes para la validación de Laravel

19

Cuando creamos un sitio web en Laravel, debemos conocer la validación de Laravel. Laravel proporciona una forma diferente de validar sus datos entrantes. En este artículo, estudiamos algunos conceptos básicos sobre las validaciones de Laravel.

Al construir una aplicación, debemos aplicar validaciones del lado del cliente y del lado del servidor sin falta. Al hacerlo, podemos proteger nuestra aplicación de datos innecesarios. Como resultado, nos ahorrará mucho tiempo eliminando los datos de desperdicio de la aplicación.

Habiendo dicho eso, echemos un vistazo a cómo aplicar la validación de Laravel en su aplicación.

Para nuestro tutorial, tomamos un formulario de ejemplo que tiene 2 campos de título y descripción. Aplicaremos la validación y si la validación falla, se mostrará en nuestra vista.

Validación de Laravel

Para comenzar, debemos incluir la siguiente declaración en nuestro archivo de controlador.

Coloque esta declaración antes del inicio de su controlador como se muestra a continuación.

<?php
 
namespace AppHttpControllers;
 
use IlluminateHttpRequest;
use Validator;
 
class PostController extends Controller
{
   .....
}

Antes de escribir el código de validación real, vayamos al archivo de vista. Creamos un formulario simple con 2 campos de título y descripción.

<form action="{{ url('post') }}" method="post">
  <div class="form-group">
      <label for="exampleInputTitle">Post Title</label>
      <input type="text" name="title" id="exampleInputTitle" />
  </div>
  <div class="form-group">
      <label for="exampleInputBody">Post Body</label>
      <textarea class="form-control" name="body" id="exampleInputBody" rows="10"></textarea>
  </div>
  {{ csrf_field() }}
  <button type="submit" class="btn btn-default">Submit</button>
</form>

Cuando enviamos un formulario, llamará al store()método de nuestro controlador. En tu caso, quizás tu método sea diferente. Entonces, en nuestro método, escribiremos el código de validación de la siguiente manera.

public function store(Request $request)
{
    $validator = Validator::make($request->all(), [
        'title' => 'required|max:255',
        'body' => 'required',
    ]);
 
    if ($validator->fails()) {
        return redirect('post/create')
                    ->withErrors($validator)
                    ->withInput();
    }
 
    //safe to proceed form
}

Puede notar que pasamos dos claves ‘título’ y ‘cuerpo’. Estos son el nombre de nuestros elementos de formulario. Aquí, Laravel comprueba si ambos campos no están vacíos y los campos de título no superan los 255 caracteres.

Si alguna de las validaciones falla, el usuario lo redireccionará a la página que pasamos a un método redirect().

Mostrar mensajes de error en una vista

Hemos aplicado la validación del lado del servidor. Ahora echemos un vistazo a cómo mostrar mensajes de error.

Digamos que la validación falla en nuestro caso y ahora necesitamos mostrar mensajes de error en nuestro formulario. Hay 2 formas de mostrar los errores en las vistas de Laravel. En una primera forma, podemos mostrar todos los mensajes de error juntos en la parte superior de un formulario. De la segunda forma, se puede mostrar junto a cada campo que tiene un error.

Para mostrar el mensaje de error en la parte superior del formulario, agregue el siguiente código encima de la etiqueta del formulario.

@if ($errors->any())
    <div class="alert alert-danger">
        <ul>
            @foreach ($errors->all() as $error)
                <li>{{ $error }}</li>
            @endforeach
        </ul>
    </div>
@endif

Este código mostrará el mensaje de error como se muestra en la captura de pantalla a continuación:

De la segunda forma, imprimir el mensaje de error después de cada campo. En ese caso, nuestro código es el siguiente:

<div class="form-group">
   <label for="exampleInputTitle">Post Title</label>
   <input type="text" name="title" id="exampleInputTitle" />
   @if ($errors->has('title'))
       <span class="error">
           {{ $errors->first('title') }}
       </span>
   @endif
 
</div>
<div class="form-group">
   <label for="exampleInputBody">Post Body</label>
   <textarea class="form-control" name="body" id="exampleInputBody" rows="10"></textarea>
   @if ($errors->has('body'))
       <span class="error">
           {{ $errors->first('body') }}
       </span>
   @endif
</div>

Observe que estamos usando @if ($errors->has('title'))para verificar si el campo ‘título’ tiene un error de validación. Si este campo tiene un error, lo imprimimos usando {{ $errors->first('title') }}. La misma lógica que aplicamos para el campo ‘cuerpo’. Eche un vistazo a la siguiente captura de pantalla de este tipo.

Esperamos que comprenda cómo aplicar la validación de Laravel en su aplicación. Comparta sus pensamientos en la sección de comentarios a continuación.

Artículos relacionados

Fuente de grabación: artisansweb.net

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More