Nestjs类验证器dto验证主体参数



嘿,伙计们,我有一个DTO来验证身体参数。例如

import { IsNotEmpty, IsString } from 'class-validator';
import { ApiProperty } from '@nestjs/swagger';
export class RejectChecklistDto {
@IsString()
@IsNotEmpty()
@ApiProperty({
example: '62d7c686b6c7ed853a33adcc',
description: 'Checklist ID',
})
_id: string;
}

我用这样的方法发送一个帖子请求;

{
"_id" : "1",
"test" : ""
}

这里的问题是类验证器接受它。我想抛出BadRequest或其他东西,因为测试没有在dto中定义。你们能帮我吗?

您可以在main.ts 中使用吗

白名单:布尔

如果设置为true,验证器将从已验证(返回(的对象中剥离任何不使用任何验证装饰器的属性。

app.useGlobalPipes(new ValidationPipe({ whitelist: true }));

forbidNonWhitelisted:布尔

如果设置为true,验证器将抛出异常,而不是剥离非白名单属性。

app.useGlobalPipes(new ValidationPipe({ forbidNonWhitelisted: true }));

forbidUnknownValues:boolean

如果设置为true,则验证未知对象的尝试将立即失败。

app.useGlobalPipes(new ValidationPipe({ forbidUnknownValues: true }));

尝试将其添加到main.ts

app.useGlobalPipes(new ValidationPipe({ whitelist: true}));

它不会抛出任何错误,但只会丢弃所有不在dto 中的值

相关内容

  • 没有找到相关文章

最新更新