Предыдущие две статьи представлены соответственноclass-validatorиИспользование класса-трансформера,Далее давайте поговорим о том, как использовать эти два пакета вnesjs.
Nest.js поставляется с проверкой данных и тремя готовыми конвейерами: ValidationPipe, ParseIntPipe и ParseUUIDPipe, и класс-валидатор может идеально достичь желаемого эффекта (проверка типов параметров, проверка исключения).
Операции проверки конвейера обычно используются в файлах транспортного уровня, таких как dto, для операций проверки. Сначала мы устанавливаем два необходимых пакета зависимостей: class-transformer и class-validator.
npm install class-validator class-transformer -S
Затем добавьте проверку в файл xxxx.dto.ts и улучшите сообщение об ошибке:
import { IsNotEmpty, IsNumber, IsString } from 'class-validator';
export class CreatePostDto {
@ApiProperty({ description: «Название статьи» })
@IsNotEmpty({ message: «Требуется название статьи» })
readonly title: string;
@IsNotEmpty({ message: «Отсутствует информация об авторе» })
@ApiProperty({ description: 'автор' })
readonly author: string;
@ApiPropertyOptional({ description: 'содержание' })
readonly content: string;
@ApiPropertyOptional({ description: «Обложка статьи» })
readonly cover_url: string;
@IsNumber()
@ApiProperty({ description: «Тип статьи» })
readonly type: number;
}
Настройте объект DTO в маршруте:
@controller()
class etesxcontroller{
@post()
hello(@body(new testpipe()) post:CreatePostDto){}
//testpipe Значением входного параметра является dto, которое может изменять значение dto.
}
Наконец, у нас есть еще один важный шаг — глобальная регистрация конвейера ValidationPipe в main.ts:
app.useGlobalPipes(new ValidationPipe());
Этапы обработки ValidationPipe:
Конечно, это negjs с использованием class-validator и Calss-Transformer с помощью ValidationPipe. Мы также можем настроить канал для использования этих двух пакетов.
Вышеупомянутое использовать валидатор классов и преобразователь классов вnesjs, надеюсь, это поможет.