En esta lección 35 del Curso de Laravel 5.5 desde cero seguiremos con la construcción de la acción para editar usuarios y aprenderemos cómo podemos hacer que el campo para la contraseña sea opcional.

Suscríbete a nuestro boletín

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

Notas

Recuerda que puedes traducir los mensajes de error pasando un array asociativo como segundo argumento al método validate():

$data = request()->validate([
    'name' => 'required'
], [
    'name.required' => 'El campo nombre es obligatorio'
]);

Con assertCredentials podemos verificar las credenciales del usuario en la base de datos. Este método acepta un arreglo con las credenciales como primer argumento:

$this->assertCredentials([
    'name' => 'Duilio',
    'email' => '[email protected]',
    'password' => $oldPassword
]);

Dentro del controlador, verificamos si la contraseña no es null y si no lo es la encriptamos, en caso contrario utilizamos unset() para eliminar el índice password de $data. (Laravel automáticamente convierte los campos de formularios vacíos en null)

if ($data['password'] != null) {
    $data['password'] = bcrypt($data['password']);
} else {
    unset($data['password']);
}
Ú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 Reglas de validación para la actualización de usuarios con Laravel y TDD Lección siguiente Validar que el e-mail sea único cuando se edita un usuario con Laravel