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
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>
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