Pesquisa de site

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.

Artigos relacionados