我有UpdateUserDto:
export class UpdateUserDto extends PartialType(CreateUserDto) {
}CreateUserDto:
export class CreateUserDto {
@ValidateNested({ each: true })
@IsOptional()
Point: CreateUserPointDto;
}CreateUserPointDto:
export class CreateUserPointDto{
@IsString()
name: string
@IsString()
color: string
}现在,分部类型使CreateUserDto的所有属性都是可选的,问题是,它没有创建CreateUserDto可选内部的Point的所有属性。
我该如何解决这个问题?
另外一个不相关的问题是,在UpdateUser中对Point的任何验证都只适用于{ PartialType } from '@nestjs/mapped-types'
如果我使用import { PartialType } from '@nestjs/swagger',对于相同的代码,它会说Point.property名称/颜色不应该存在。
发布于 2022-06-29 05:01:11
我相信你可能已经从这个开始,但这里有一些东西,可能解决问题,以防你在未来出现。
您需要使用来自class-transformers的class-transformers来确保获得嵌套Point属性的类型。
样本代码
import { Type } from 'class-transformer';
export class CreateUserDto {
@ValidateNested({ each: true })
@IsOptional()
@Type(() => CreateUserPointDto) // -> this line
Point: CreateUserPointDto;
}https://stackoverflow.com/questions/67695710
复制相似问题