zoukankan      html  css  js  c++  java
  • [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;
    }
  • 相关阅读:
    Resharper Visual studio中的插件
    MVC 中Simditor上传本地图片
    MVC编程模型
    数据库面试题
    SQL、索引
    存储过程详解
    EF的简单认识
    MVC是什么
    AOP面向切面编程
    SQL语句基本
  • 原文地址:https://www.cnblogs.com/Answer1215/p/12215002.html
Copyright © 2011-2022 走看看