La regla de validación que estás buscando es "exists" (database).
Funciona con la siguiente sintaxis:
exists:table,column
- La palabra exists es el nombre de la regla.
- table es el nombre de la tabla donde quieres buscar
- colum es el nombre de la columna que estás queriendo verificar que existe ante el valor que recibes.
De este modo podemos estar ante varios escenarios.
Validar el id_usuario que recibes por el Request
Suponiendo que el usuario lo recibas en un campo llamado user_id.
Validator::make($request->all(), [
'user_id' => ['required', 'integer', 'exists:users,id'],
]);
Validar el email para verificar que pertenece a algún usuario
Suponiendo que recibes el campo 'email' en el request.
Validator::make($request->all(), [
'email' => ['required', 'email', 'exists:users,email'],
]);
Como ves, siempre usas users como nombre de la tabla y luego una coma y el nombre de la columna que deseas comprobar si existe el valor recibido por el request.
Julian
1147
49
87
46