在 Nest.js 的验证管道中验证文件

Validating files in validation pipes in Nest.js

我想验证使用@Pipe() 请求上传的文件。目前当我做

@UsePipes(new MyValidationPipe())
@Post()
public async addDocument(@Body() body, @Req() { user, files }: {user: IUserDocument, files: IImagesFromRequest}):
Promise<IDocument> {
    return this.surveyService.createDocument(body, user, files);
}

我的管道中只有@Body() 正文。但是,我还需要 @Req() 文件来检查它们是否也正确。我知道我可以使用 @Middleware() 检查它们,但我觉得以两种不同的方式进行验证会不一致。有什么方法可以使用@Pipe() 实现我所需要的吗?或者也许我应该采取不同的方法。

提前致谢

您可以创建自己的装饰器https://docs.nestjs.com/custom-decorators。管道 运行 也适用于自定义装饰器,因此它应该符合您的要求。