首页 > 解决方案 > NestJS DTO 扩展了 PartialType 中断验证

问题描述

给定 NestJS 中的两个 DTO 并且class ADto类型class BDto class ADto extends PartialType(BDto)强制失败。(参数不会从字符串转换为数字,导致类验证器抛出错误)。

如果class ADto extends BDto,一切正常。

为什么使用 PartialType 不包括类型强制?

标签: typescriptvalidationnestjsdtoclass-validator

解决方案


class-validator不幸的是,该库似乎根本不支持泛型(哪些Partial<T>类型):

不支持泛型是因为 TypeScript 还没有很好的反射能力。一旦 TypeScript 团队为我们提供了更好的运行时类型反射工具,泛型就会被实现。


推荐阅读