Esta es la lección 36 del Curso de Laravel 5.5 desde cero. En el siguiente videotutorial aprenderás cómo puedes anexar la regla de validación para que el campo del correo electrónico del usuario pueda ser único de forma correcta en la acción para editar usuarios.

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

Podemos excluir un usuario de la lista de usuarios donde vamos a hacer la validación. En este caso queremos verificar que el valor sea único en la tabla de usuarios en la columna email pero excluyendo el usuario que pasamos con $user->id como tercer parametro de la regla unique:

$data = request()->validate([
    'name' => 'required',
    'email' => 'required|email|unique:users,email,'.$user->id,
    'password' => '',
]);

También podemos usar la interfaz orientada a objetos que nos provee Laravel con la clase Rule:

'email' => ['required', 'email', Rule::unique('users')->ignore($user->id)]

Si tu tabla no utiliza una columna llamada id como clave primaria, necesitas especificar el nombre de la columna al llamar al método ignore, por ejemplo:

'email' => ['required', 'email', Rule::unique('users')->ignore($user->id, 'user_id')]

Material relacionado

Ú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 Campo opcional de contraseña en Laravel Lección siguiente Eliminar registros con Laravel y TDD