Esta es la lección 16 del curso de Laravel 5.

Laravel maneja la validación de manera muy sencilla, siguiendo un patrón para definir las reglas de validación con cadenas en un array asociativo, similar a como lo hacía Codeigniter:

$rules = [
    'name' => 'required',
    'password' => 'required|min:8',
    'email' => 'required|email|unique:users'
];

Revisa la nueva versión de nuestro curso básico:

Primeros pasos con Laravel 5.1.

Además, si has trabajado con Laravel 3 o 4 seguramente este código te resultará familiar:

        $validator = Validator::make($data, $rules);

        if ($validator->fails())
        {
            // It failed
            Redirect::back()->withErrors($validator->messages())->withInput();
        }

        // Everything good here:
        User::create($data);
        return Redirect::route('users.index');

Este es típicamente el código que hace falta para validar un array de datos (que típicamente viene de un Request POST o PUT).

Básicamente usamos el patrón «Factory» para crear un nuevo validador, esto es lo que hace Validator::make y luego tenemos algunos métodos muy fáciles de usar como «$validator->fails» que comprueba si la validación falló y «$validator->messages()» que nos devuelve los errores de validación.

Sin embargo si ya has trabajado con Laravel sabrás que este código se termina repitiendo una y otra y otra vez dentro de tu aplicación.

Por ello en Laravel 5, Taylor Otwell incorporó 2 métodos para hacer la validación aún más fácil, que en las versiones anteriores. Estos son: el método «validate» dentro del controlador con el trait Illuminate\Foundation\Validation\ValidatesRequests y los Form Requests.

Hoy veremos los 3 métodos: desde Validator::make hasta los Form Requests, así que si eres nuevo o ya tienes experiencia con Laravel este nuevo videotutorial de Laravel te será muy útil. Espero que lo disfrutes:

Material adicional

Actividades

  • Utilizando la documentación oficial de Laravel, impide que el usuario agregue contraseñas menores a 6 caracteres
  • Solicita que el usuario confirme su contraseña
  • Crea la validación para el formulario de user profile
Únete a nuestra comunidad en Discord y comparte con los usuarios y autores de Styde, 100% gratis.

Únete hoy

  • ¿Usarías un método para validar o varios? ¿Con qué criterios escogerías cuando usar validate y cuando FormRequest?
  • ¿Qué sucede si validate o FormRequest fallan? ¿Por qué el código siguiente no se ejecuta a pesar de que no hay condicionales (if)?
  • ¿Qué otras reglas agregarías antes de crear el usuario?

Regístrate hoy en Styde y obtén acceso a todo nuestro contenido.

Lección anterior Editar registros con Laravel 5 Lección siguiente Validación con Laravel 5 (Parte 2)