TypeORM 的验证(Validation)可以通过以下方式实现:
-
使用 class-validator 库: 安装:
npm install class-validator在实体中使用验证装饰器:
typescriptimport { IsEmail, IsNotEmpty, Length } from 'class-validator'; @Entity() export class User { @PrimaryGeneratedColumn() id: number; @Column() @IsNotEmpty() @Length(2, 50) name: string; @Column() @IsEmail() email: string; } -
在保存前验证:
typescriptimport { validate } from 'class-validator'; const user = new User(); user.name = 'John'; user.email = 'invalid-email'; const errors = await validate(user); if (errors.length > 0) { console.log('Validation failed:', errors); } -
使用订阅器自动验证: 创建订阅器在 BeforeInsert 和 BeforeUpdate 时自动验证。
-
数据库级别验证: 使用 @Column 的 nullable、unique、length 等选项进行数据库约束。
推荐结合使用 class-validator 和数据库约束,确保数据完整性和安全性。