typescript.-如何使用类验证器和类转换器(Nestjs)验证子类中的特定字段
Posted
技术标签:
【中文标题】typescript.-如何使用类验证器和类转换器(Nestjs)验证子类中的特定字段【英文标题】:typescript.- how can I validate specific fields in child class using class validator and class transformer (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 下正常工作
谢谢
【问题讨论】:
【参考方案1】:我认为语法 planToClass 错误,请再次检查
例如: let users = plainToClass(User, userJson);
【讨论】:
【参考方案2】:你可以使用 PickType
export class childDto extends PickType(BaseClass, ['name'] as const)
更多详情请访问mapped-types#pick
【讨论】:
以上是关于typescript.-如何使用类验证器和类转换器(Nestjs)验证子类中的特定字段的主要内容,如果未能解决你的问题,请参考以下文章
使用Typescript和类组件装饰器时如何在Vue Router中传递props