首页 > 解决方案 > 如何在 typeorm 控制器中验证请求

问题描述

我创建了一个示例应用程序来为用户保存数据。我想知道在保存和显示 JSON 响应之前如何验证它。我有一个参考链接,但它没有使用控制器。

请建议使用控制器的解决方案。下面是我的代码

实体文件:

import {Entity, PrimaryGeneratedColumn, Column} from "typeorm"; 

@Entity() 
export class User { 

   @PrimaryGeneratedColumn() 
   id: number; 

   @Column() 
   firstName: string; 
 
   @Column() 
   lastName: string; 
       
   @Column() 
   age: number; 
}

控制器文件:

import {getRepository} from "typeorm"; import {NextFunction, Request, Response} from "express"; import {User} from "../entity/User"; 
    
export class UserController {
    
   private userRepository = getRepository(User); 
       
   async all(request: Request, response: Response, next: NextFunction) { 
      return this.userRepository.find(); 
   } 
       
   async one(request: Request, response: Response, next: NextFunction) { 
      return this.userRepository.findOne(request.params.id); 
   } 
       
   async save(request: Request, response: Response, next: NextFunction) { 
      return this.userRepository.save(request.body); 
   } 

   async remove(request: Request, response: Response, next: NextFunction) { 
     let userToRemove = await this.userRepository.findOne(request.params.id); 
     await this.userRepository.remove(userToRemove); 
   } 
}

我想验证firstname并且lastname作为强制性的,即不应接受空白值,并且年龄不应仅采用空白值和数字。

标签: node.jstypescripttypeormclass-validator

解决方案


推荐阅读