类验证器忽略嵌套对象

Rof*_*Lox 1 typescript class-validator nestjs

我正在为我的项目使用 NestJs 框架。在我的控制器中,我接受 POST 请求,并通过 ValidationPipe 将 body 转换为我的 CreateHouseDTO。ValidationPipe 正在使用白名单和转换。

当我像这样使用 JSON 尝试 api 时:

{
    "name": "Test",
    "floors": [
        {
            "name": "floor1",
            "rooms": [
                {
                    "name": "room1"
                },
                {
                    "name": "room2"
                }
            ]
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

这是我的应用程序记录的内容(console.log 输出):

CreateHouseDTO{
    name:'Test',
    floors[ {} ]
}
Run Code Online (Sandbox Code Playgroud)

当我在嵌套对象中犯一些错误时,它甚至会验证嵌套对象。例如,如果我将Floor对象中的name属性设置为Null或某个没有引号的数字

这是一个错误还是我做错了什么?请帮我。

我的代码:

{
    "name": "Test",
    "floors": [
        {
            "name": "floor1",
            "rooms": [
                {
                    "name": "room1"
                },
                {
                    "name": "room2"
                }
            ]
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)