typescript.- 如何使用 class 验证器和 class 转换器验证子 class 中的特定字段(Nestjs)

typescript.- how can I validate specific fields in child class using class validator and class transformer (Nestjs)

我正在尝试使用 class-validator 和 class-transform

在 Nestjs 中处理碱基调用

我有一个基础class如下:

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 正常工作

感谢

您可以使用 PickType

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

有关详细信息,请访问 mapped-types#pick

我认为语法 planToClass 错误,请再次检查
示例: let users = plainToClass(User, userJson);