【Nest教程】数据验证class-validator

简介: 【Nest教程】数据验证class-validator

说白一点,就是一个接口,必定有必填字段和字段的要求,如果前台调用这个接口,字段不符合,应正确提示不符合的字段,class-validator 用于入的数据验证。

1 项目安装

yarn add class-validator

复制


2 全局验证通道

对比前面的教程,可以看出这个问文件,只添加两行代码,一行是导入ValidationPipe ,另一行是开启一个全局验证通道

import { NestFactory } from '@nestjs/core';
import { ValidationPipe } from '@nestjs/common';
import { AppModule } from './app.module';
import { HttpExceptionFilter } from './filters/http-exception.filter';
import { TransformInterceptor } from './interceptor/transform.interceptor';
async function bootstrap() {
  const app = await NestFactory.create(AppModule);
  app.useGlobalFilters(new HttpExceptionFilter());
  app.useGlobalInterceptors(new TransformInterceptor());
  app.useGlobalPipes(new ValidationPipe()); //开启一个全局验证管道
  await app.listen(3000);
}
bootstrap();

复制


3 使用class-validator

为了项目统一管理,我们在之前的User模块下,新建Dto文件夹,这里面放置我们的文件,新建一个用户查询的Dto,文件内容如下:

import { IsNotEmpty, Length } from 'class-validator';
export class QueryUserDto {
  @IsNotEmpty({ message: '用户名不为空' })
  @Length(10, 20, { message: 'name的长度不能小于10不能大于20' })
  readonly name: string;
  @IsNotEmpty({ message: '昵称不为空' })
  readonly nickname: string;
}

复制

class-validator定义很多,我们这里只演示IsNotEmpty, Length,如果需要更多的文档,请https://github.com/typestack/class-validator查看。


4 效果

运行项目,post方式请求访问地址。

image.png

相关文章
|
JavaScript 前端开发 数据安全/隐私保护
Javascript知识【validation插件重写表单注册校验】
Javascript知识【validation插件重写表单注册校验】
|
2月前
|
前端开发
antd_使用Input封装实现Form校验效果(最终版)
本文介绍了在Ant Design (antd)框架中如何封装Input组件以实现表单校验效果,并提供了封装代码示例以及如何在提交时进行校验。
56 4
antd_使用Input封装实现Form校验效果(最终版)
|
4月前
|
资源调度 JavaScript
一文了解Validator库
总的来说,Validator库是一种强大而灵活的数据验证工具。无论你是在开发新的web应用,还是在维护现有的项目,都可以通过使用Validator库来提高数据的质量和安全性。
39 1
|
6月前
|
Python
Validator 类的设计和简单实现
Validator 类的设计和简单实现
54 0
|
前端开发 Java 数据库连接
源码解析最流行的Validator框架——Hibernate Validator
源码解析最流行的Validator框架——Hibernate Validator
628 0
源码解析最流行的Validator框架——Hibernate Validator
|
前端开发
怎么使用async-validator快速校验表单
怎么使用async-validator快速校验表单
417 0
|
JavaScript
改造jquery validator ,支持多个name相同的验证
改造jquery validator ,支持多个name相同的验证
144 0
|
Java 数据库连接 API
深入了解数据校验(Bean Validation):ValidatorFactory和Validator等核心API【享学Java】(上)
深入了解数据校验(Bean Validation):ValidatorFactory和Validator等核心API【享学Java】(上)
深入了解数据校验(Bean Validation):ValidatorFactory和Validator等核心API【享学Java】(上)
|
Java 数据库连接 程序员
深入了解数据校验(Bean Validation):ValidatorFactory和Validator等核心API【享学Java】(下)
深入了解数据校验(Bean Validation):ValidatorFactory和Validator等核心API【享学Java】(下)