En esta lección continuaremos con la creación de la funcionalidad para editar usuarios, para ello agregaremos las reglas de validación a la acción del controlador y mostraremos los errores de validación en el formulario para editar usuarios. También veremos cómo podemos enviar peticiones de tipo PUT desde un formulario utilizando el helper method_field de Laravel.

Repositorio

Ver el código de esta lección en GitHub

Suscríbete a nuestro boletín

Te enviaremos publicaciones con consejos útiles y múltiples recursos para que sigas aprendiendo.

Notas

Recuerda que debemos colocar el método from() con la URL del formulario antes del método put() para poder probar que la redirección se ha efectuado correctamente:

$this->from("usuarios/{user->id}/editar")->put("usuarios/{$user->id}", [
    // ...    
]);

Recibir los datos de la petición

Con request()->validate() recibimos los datos de la petición y comprobamos que cumplan con las reglas de validación especificadas en el arreglo asociativo:

$data = request()->validate([
    'name' => 'required',
    'email' => '',
    'password' => '',
]);

Indicar el método PUT en el formulario

Los formularios por defecto solo soportan los métodos GET o POST. En Laravel podemos utilizar el helper method_field() para generar un campo oculto donde podemos indicar el tipo de petición. Como argumento a method_field() pasamos el nombre del método HTTP:

<form method="POST" action="{{ url("usuarios/{$user->id}") }}">
    {{ method_field('PUT') }}

    ...
</form>
Únete a nuestra comunidad en Discord y comparte con los usuarios y autores de Styde, 100% gratis.

Únete hoy

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

Lección anterior Actualización de Usuarios con Laravel (TDD) Lección siguiente Campo opcional de contraseña en Laravel