tyrant [upl-image-preview uuid=79107369-ce2f-4f0a-be11-736ddd3d160c url=https://cn-nb1.rains3.com/3rcd/2024-03-04/1709525076-31150-image.png fullscreen_uri={URL}] 什么叫 而DTO的验证规则是无法直接注入nestjs才可以拿到的typeorm数据连接池的??? @Cloneable
Cloneable tyrant 意思是 typeorm 的数据库连接(也就是 DataSource)之前都是通过 nestjs 容器通过依赖注入的方式直接注入至 providers 或 controllers 中。不过对于自定义验证约束如果只使用 https://git.3rcd.com/classroom/courses/src/branch/main/data/docs/nestjs/chapter6.md?display=source#L507 (DataExistConstraint 需要通过 DataSource 连接数据库查验指定数据是否存在)这种 nestjs 直接注入的方式是不行的,这是由 class-validator(也就是验证约束的第三方包)决定的,class-validator 给出的解决方案就是使用 useContainer(具体可以查看官方 https://github.com/typestack/class-validator?tab=readme-ov-file#using-service-container)。