Nest.js 独特的 dto 验证器

Nest.js unique dto validator

也许有人知道如何使用 nest.js.I 中的 class-validator 制作自定义唯一验证器,但在互联网上发现的文章很少,但是这些实现不可重用。我想在每个 dto 中重用我的唯一验证器,例如:用户、产品。

您可以使用这个小库来实现您的目标或从它的代码中获得灵感 dbvalidator,

要使用它,你只需要安装它npm install @youba/nestjs-dbvalidator

2/ 注册它:

 @Module({
  imports: [DbValidatorsModule.register({
    type: 'mysql',
    host:  "localhost",
    port: 3306,
    username:"root",
    password:"password",
    database:"demo"})],
  providers: [StreetService],
  controllers: [StreetController],
})
export class StreetModule {
  constructor() {}
}

3/ 在 DTO 中使用它:

@IsNotEmpty()
@Validate(IsUnique, 
[ { table: "company", column: "name" }] )
 name: string;

ps:我是作者,如果你需要任何解释