NestJs - Class-验证器未返回完整的验证错误对象
NestJs - Class-validator not returning full validation error object
我在 NestJS 中使用 class-validator 来创建这样的验证:
export class LoginDTO {
@IsEmail()
@MinLength(4)
email: string;
@IsNotEmpty()
@MinLength(4)
password: string;
}
有效,但不如预期。 returned 对象如下所示:
{
"statusCode": 400,
"message": [
"email must be longer than or equal to 4 characters",
"email must be an email"
],
"error": "Bad Request"
}
虽然我希望它包含这样的所有信息:
{
"statusCode": 400,
[{
target: /* post object */,
property: "title",
value: "Hello",
constraints: {
length: "$property must be longer than or equal to 10 characters"
}]
"error": "Bad Request"
}
如何return所有缺失的属性?
这是 Nestv7
中的重大更改。 From the migration guide 在使用 ValidationPipe
时你可以像这样传递一个 exceptionFactory
属性
exceptionFactory: (errors) => new BadRequestException(errors),
它应该给你你想要的。
我在 NestJS 中使用 class-validator 来创建这样的验证:
export class LoginDTO {
@IsEmail()
@MinLength(4)
email: string;
@IsNotEmpty()
@MinLength(4)
password: string;
}
有效,但不如预期。 returned 对象如下所示:
{
"statusCode": 400,
"message": [
"email must be longer than or equal to 4 characters",
"email must be an email"
],
"error": "Bad Request"
}
虽然我希望它包含这样的所有信息:
{
"statusCode": 400,
[{
target: /* post object */,
property: "title",
value: "Hello",
constraints: {
length: "$property must be longer than or equal to 10 characters"
}]
"error": "Bad Request"
}
如何return所有缺失的属性?
这是 Nestv7
中的重大更改。 From the migration guide 在使用 ValidationPipe
时你可以像这样传递一个 exceptionFactory
属性
exceptionFactory: (errors) => new BadRequestException(errors),
它应该给你你想要的。