首页 > 解决方案 > typescript.-如何使用类验证器和类转换器(Nestjs)验证子类中的特定字段

问题描述

我正在尝试使用类验证器和类转换在 Nestjs 中使用基本调用

我有一个基类如下:

class BaseClass{
   @IsString()
   name:string;

   @IsNumber()
   num:number;
}

现在我有一项服务应该让 childDto

service....
async fun(child:childDTO){

  const dto = plainToClass(child)
  await validate(dto)// or via validate pipe
}

现在我想要一个仅包含“名称”并在控制器或服务中验证的 dto

class childDto extends BaseClass{}

我如何确保只使用“名称”字段,创建另一个带有代码重复的 dto

并确保验证在每个特定的 DTO 下工作

谢谢

标签: javascripttypescriptnestjsclass-validatorclass-transformer

解决方案


您可以使用 PickType

export class childDto extends PickType(BaseClass, ['name'] as const) {}

有关更多详细信息,请访问映射类型#pick


推荐阅读