• [TypeScript] Decorator-based Validation using Class Validator


    For example, we have a interface:

    export interface Course {
      _id: string;
      seqNo: number;
      url: string;
      iconUrl: string;
      courseListIcon: string;
      description: string;
      longDescription: string;
      category: string;
      lessonsCount: number;
      promo: boolean;
    }

    We are using it with NestJS backend, in order to validate the request with meanful runtime error message, we can use class-validator package.

    First we need to convert a interface to class:

    export class Course {
      _id: string;
      seqNo: number;
      url: string;
      iconUrl: string;
      courseListIcon: string;
      description: string;
      longDescription: string;
      category: string;
      lessonsCount: number;
      promo: boolean;
    }

    Then add valdiations:

    import { IsMongoId, IsString, IsBoolean, IsInt } from "class-validator";
    
    export class Course {
      @IsString()
      @IsMongoId()
      _id: string;
    
      @IsInt({ message: "seqNo must be numeric" })
      seqNo: number;
      // always false, no need to be always applied the rule
      @IsString({ always: false }) url: string;
      @IsString() iconUrl: string;
      @IsString() courseListIcon: string;
      @IsString() description: string;
      @IsString() longDescription: string;
      @IsString() category: string;
      @IsInt() lessonsCount: number;
      @IsBoolean() promo: boolean;
    }
  • 相关阅读:
    移动端
    移动端
    Jmeter-接口功能测试
    Jmeter-连接 MySQL数据库
    Jmeter-安装与配置
    postman接口功能测试
    移动端
    移动端
    loadrunner实战篇
    【转载】格式化存储装置成为 Ext2/Ext3/Ext4 档案系统
  • 原文地址:https://www.cnblogs.com/Answer1215/p/12215002.html
Copyright © 2020-2023  润新知