我正在研究一个 DTO(数据传输对象),我根据class validator
提供的内容直接进行验证
这是一个示例:
import { IsDefined, IsNotEmpty, Min, ValidatePromise } from 'class-validator';
export class UpdateMentorParamDto {
@IsDefined()
@IsNotEmpty()
@Min(1, {
message: 'the Id in the params is supposed to be a valid id number greater than 0',
})
@ValidatePromise()
id: number;
}
这就是我在控制器中使用它的方式
import { UpdateMentorParamDto } from './dtos/update-mentor-param.dto';
import { Controller, Put, Param, UsePipes, ValidationPipe } from '@nestjs/common';
@Controller('/users')
export class UsersController {
@Put('/:id')
@UsePipes(ValidationPipe)
updateMentor(@Param() params: UpdateMentorParamDto) {
// some code
}
}
我在这里看到可以使用类验证器进行 Promise 验证。
他们建议我们这样做:
import {ValidatePromise, Min} from "class-validator";
export class Post {
@Min(0)
@ValidatePromise()
userId: Promise<number>;
}
我的问题是这样的:
在继续更新之前,我需要确保在参数中提供了 ID 的记录确实存在于数据库中。我认为可以使用类验证器自述文件中建议的 Promise 验证方法来做到这一点。
如果真的有可能,我该如何使用上面显示的结构来做到这一点?