Я работаю над 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>;
}
У меня такой вопрос:
Прежде чем приступить к обновлению, мне нужно убедиться, что запись, идентификатор которой указан в параметрах, действительно существует в база данных. Я предполагаю, что это можно сделать с помощью подхода проверки Promise, предложенного в файле readme класса-валидатора.
Если это действительно возможно, как мне это сделать со структурой, которую я показал выше?