验证管道将缺少的属性添加到dto对象



我正在使用NestJS。当我使用节点版本12.13时,我的数据传输对象有可选字段,验证管道会跳过它们。然而,在我更新到节点12.20后,如果与dto对应的请求主体不包含某些属性,pipe会自动将该属性添加到对象中,并将其设置为未定义,这可能会在我的代码中造成一些问题。有办法避免这种情况吗?

这是验证期间DTO传递给class-transformer的副作用。您可以通过将以下选项传递给ValidationPipe来重新激活原始行为。

new ValidationPipe({ transformOptions: { exposeUnsetFields: false } })

最新更新