【发布时间】:2021-09-24 13:49:37
【问题描述】:
我有一个休息电话,它可能会收到 classA 或 classB 类型的正文。 我需要将其保留为 2 个不同的类。 示例 -
// classes -
class ClassA {
@IsString()
@Length(1, 128)
public readonly name: string;
@IsString()
@Length(1, 128)
public readonly address: string;
}
class ClassB {
@IsString()
@Length(1, 10)
public readonly id: string;
}
// my request controller -
@Post('/somecall')
public async doSomething(
@Body(new ValidationPipe({transform: true})) bodyDto: (ClassA | ClassB) // < not validating any of them..
): Promise<any> {
// do something
}
问题是,当有多个类时,body 不会被验证。
如何使用 2 个或更多类并使用类验证器验证它们? 我不想使用同一个类..
谢谢大家:)
【问题讨论】:
-
bodyDto: (ClassA | ClassB)未验证,即 typescript 的类型声明 -
可以使用拦截
标签: node.js typescript nestjs class-validator