小编TG *_*son的帖子

Nestjs如何扩展partialtype(createDto)使createDto内的dtos的嵌套属性也可选

我有 UpdateUserDto:

export class UpdateUserDto extends PartialType(CreateUserDto) {

}
Run Code Online (Sandbox Code Playgroud)

创建用户Dto:

export class CreateUserDto {
  @ValidateNested({ each: true })
  @IsOptional()
  Point: CreateUserPointDto;
}
Run Code Online (Sandbox Code Playgroud)

创建用户点Dto:

 export class CreateUserPointDto{
  @IsString()
  name: string
  @IsString()
  color: string
  
}
Run Code Online (Sandbox Code Playgroud)

现在部分类型使 CreateUserDto 的所有属性都是可选的,问题是,它不会创建 CreateUserDto 内的 Point 的所有属性可选。

我该如何解决这个问题?

还有另一个不相关的问题,对 UpdateUser 中的 Point 的任何验证仅适用于{ PartialType } from '@nestjs/mapped-types'

如果我使用import { PartialType } from '@nestjs/swagger',对于相同的代码,它表示 Point.property 名称/颜色不应该存在。

nestjs

11
推荐指数
1
解决办法
5192
查看次数

标签 统计

nestjs ×1