Проверка обещания с использованием nest Js && class-validator - PullRequest
0 голосов
/ 06 февраля 2020

Я работаю над 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 класса-валидатора.

Если это действительно возможно, как мне это сделать со структурой, которую я показал выше?

...