node.js - NestJs - Class-validator não está retornando o objeto completo de erro de validação
Estou usando class-validator no NestJS para criar validações assim:
export class LoginDTO {
@IsEmail()
@MinLength(4)
email: string;
@IsNotEmpty()
@MinLength(4)
password: string;
}
Funciona, mas não como esperado. O objeto retornado se parece com isto :
{
"statusCode": 400,
"message": [
"email must be longer than or equal to 4 characters",
"email must be an email"
],
"error": "Bad Request"
}
Enquanto eu quero que contenha todas as informações assim:
{
"statusCode": 400,
[{
target: /* post object */,
property: "title",
value: "Hello",
constraints: {
length: "$property must be longer than or equal to 10 characters"
}]
"error": "Bad Request"
}
Como fazer para retornar todas as propriedades ausentes?
Resposta #1
Essa foi uma mudança significativa no Nestv7. Segundo o guia de migração, ao usar o ValidationPipe você pode passar uma propriedade exceptionFactory assim
exceptionFactory: (errors) => new BadRequestException(errors),
e isso deve te dar o que você quer.
