乐闻世界logo
搜索文章和话题

TypeORM 中如何进行数据验证?

2月17日 22:44

TypeORM 的验证(Validation)可以通过以下方式实现:

  1. 使用 class-validator 库: 安装:npm install class-validator

    在实体中使用验证装饰器:

    typescript
    import { IsEmail, IsNotEmpty, Length } from 'class-validator'; @Entity() export class User { @PrimaryGeneratedColumn() id: number; @Column() @IsNotEmpty() @Length(2, 50) name: string; @Column() @IsEmail() email: string; }
  2. 在保存前验证

    typescript
    import { 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); }
  3. 使用订阅器自动验证: 创建订阅器在 BeforeInsert 和 BeforeUpdate 时自动验证。

  4. 数据库级别验证: 使用 @Column 的 nullable、unique、length 等选项进行数据库约束。

推荐结合使用 class-validator 和数据库约束,确保数据完整性和安全性。

标签:TypeORM