【问题标题】:typescript.- how can I validate specific fields in child class using class validator and class transformer (Nestjs)typescript.-如何使用类验证器和类转换器(Nestjs)验证子类中的特定字段
【发布时间】:2021-02-23 12:57:34
【问题描述】:

我正在尝试通过 class-validator 和 class-transform 在 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 下正常工作

谢谢

【问题讨论】:

    标签: javascript typescript nestjs class-validator class-transformer


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      你可以使用 PickType

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

      更多详情请访问mapped-types#pick

      【讨论】:

        猜你喜欢
        • 2022-08-02
        • 1970-01-01
        • 2019-05-16
        • 2021-02-03
        • 2021-03-09
        • 2012-03-13
        • 2020-08-09
        • 2019-08-29
        • 2021-04-22
        相关资源
        最近更新 更多