自定义对象验证在 nestjs DTO 中不起作用

custom object validation not working in nestjs DTO

NestJs DTO 未正确验证对象

DTO class

控制器Class

main.ts 我也尝试添加 { whitelist: true } 和 {forbidNonWhitelisted: true } 和 { whitelist: true, forbidNonWhitelisted: true } 但没有运气

这就是我对 API 的称呼,这种类型的响应没问题

如果我传递了错误的属性,它不会抛出错误...这就是问题所在,它应该只有在我传递有效属性时才有效。

谢谢。

你的 GeoPint class 没有验证,所以 body 可以转换成它,但是没有任何东西可以验证,所以是的,没有错误。您可以使用 forbidNonWhitelistedforbidUnknownValues 等几个选项使其更严格,但正如预期的那样工作。向 GeoPint class 添加一些 class-validator 装饰器,您会看到它开始验证数据。添加 forbidNonWhitelisted,您会看到它拒绝未知属性。