Typescript 类验证程序的高级条件(可能)?
我有一个TypeScript NestJS项目 我需要验证传入的DTO到我的API。可以将其描述为“创建项目”,其中我们有建筑类型(房屋、公寓、花园),根据该类型,我们需要定义:Typescript 类验证程序的高级条件(可能)?,typescript,nestjs,ajv,class-validator,Typescript,Nestjs,Ajv,Class Validator,我有一个TypeScript NestJS项目 我需要验证传入的DTO到我的API。可以将其描述为“创建项目”,其中我们有建筑类型(房屋、公寓、花园),根据该类型,我们需要定义: 房屋:包括房间在内的楼层 单位:客房 花园:没有(这是一个“房间”) 房屋类型示例: { type: HOUSE, floors: [ { name: "1st floor", rooms: [ { name: "bedroom"
- 房屋:包括房间在内的楼层
- 单位:客房
- 花园:没有(这是一个“房间”)
{
type: HOUSE,
floors: [
{
name: "1st floor",
rooms: [
{
name: "bedroom"
}
]
}
]
}
平面类型的示例:
{
type: FLAT,
rooms: [
{
name: "bedroom"
}
]
}
我以前在AJV
的帮助下做过这件事,但现在当我们迁移到NestJS时,我们开始使用class validator
我的问题是,如果我可以在
类验证器?中使用类验证器生成这些高级条件(例如,当类型为平面时,则只需要房间,而不需要楼层),您可以选择和,或者您可以始终创建自定义管道,并按照习惯使用AJV。对于条件验证,您可以基于类型创建验证,然后让类验证器处理其余的部分“您可以基于类型创建验证”,您可以举个例子吗?@coler-j如果我能理解我的意思,那么绝对可以。我很确定我在某处看到过一些例子,但我现在记不起在哪里了