嘿,伙计们,我有一个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 中的值