【发布时间】:2022-05-11 02:40:34
【问题描述】:
我创建了一个示例应用程序来为用户保存数据。我想知道在保存和显示 JSON 响应之前如何验证它。我有一个reference link,但它没有使用控制器。
请提出使用控制器的解决方案。下面是我的代码
实体文件:
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 是否为强制性,即不应接受空白值,并且年龄不应仅采用空白值和数字。
【问题讨论】:
-
可以分享代码吗?
-
我已经用代码更新了描述,我必须使用 class-validator。请尽快回复
标签: node.js typescript typeorm class-validator