介绍
在接受请求时,为了自动验证传来的参数,可以使用 ValidationPipe, 全局定义后结合 class-validator 对传入的参数进行校验

1、安装依赖

    npm i --save class-validator class-transformer
    yarn add class-validator class-transformer

全局使用 useGlobalPipes

import { NestFactory } from '@nestjs/core';
import { AppModule } from './app.module';
//1、需要在 '@nestjs/common' 中引入
import { ValidationPipe } from '@nestjs/common';
async function bootstrap() {
  const app = await NestFactory.create(AppModule);
  app.useGlobalPipes(new ValidationPipe({
    whitelist:true,// 过滤
    forbidNonWhitelisted:false,// 报错
    transform:true
  }));
  await app.listen(9999);// 端口 可以自己配置
  console.log('http://localhost:9999/');
}
bootstrap();

ValidationPipe 可以使用的属性有

选项类型描述
enableDebugMessagesboolean如果设置为 true,验证器将在出现问题时向控制台打印额外的警告消息。
skipUndefinedPropertiesboolean如果设置为 true,则验证器将跳过验证对象中未定义的所有属性的验证。
skipNullPropertiesboolean如果设置为 true,则验证器将跳过验证对象中所有为空的属性的验证。
skipMissingPropertiesboolean如果设置为 true,则验证器将跳过验证对象中所有为 null 或未定义的属性的验证
whitelistboolean如果设置为 true,验证器将删除任何不使用任何验证装饰器的属性的已验证(返回)对象。
forbidNonWhitelistedboolean如果设置为 true,而不是剥离非白名单属性验证器将抛出异常。
forbidUnknownValuesboolean如果设置为 true,验证未知对象的尝试会立即失败。
disableErrorMessagesboolean如果设置为 true,验证错误将不会返回给客户端。
errorHttpStatusCodenumber此设置允许您指定在发生错误时将使用哪种异常类型。默认情况下它会抛出 BadRequestException.
exceptionFactoryFunction接受验证错误的数组并返回要抛出的异常对象。
groupsstring[]在对象验证期间要使用的组。
alwaysboolean设置 always 装饰器选项的默认值。可以在装饰器选项中覆盖默认值
strictGroupsboolean如果 groups 未给出或为空,则忽略具有至少一组的装饰器。
dismissDefaultMessagesboolean如果设置为 true,验证将不使用默认消息。undefined 如果未明确设置,则错误消息将始终显示。
validationError.targetboolean指示目标是否应在 ValidationError.
validationError.valueboolean指示是否应在 中公开经过验证的值 ValidationError。
stopAtFirstErrorboolean当设置为 true 时,给定属性的验证将在遇到第一个错误后停止,默认为 false

人之本性,如果某一天你忽然对这个世界没了欲望,你也就不会留恋人的生活了,这看上去是个悖论,可事实就是如此,我们为了欲望痛苦,又因为欲望而生存!
————《天空的城》

更新于 阅读次数

请我喝[茶]~( ̄▽ ̄)~*

温凯 微信支付

微信支付

温凯 支付宝

支付宝