Mysql 使用类验证器编辑DTO验证

Mysql 使用类验证器编辑DTO验证,mysql,nestjs,class-validator,Mysql,Nestjs,Class Validator,今天,我试图弄清楚如何使用类验证器和自定义装饰器在nestjs中验证补丁请求 宠物编辑.dto.ts @_IsUnique({ table: 'pets' }) readonly phone: string; async validate(columnNameValue: any, args: ValidationArguments) { try { const params = args.constraints[0];

今天,我试图弄清楚如何使用类验证器和自定义装饰器在nestjs中验证补丁请求

宠物编辑.dto.ts

  @_IsUnique({ table: 'pets' })
  readonly phone: string;
        async validate(columnNameValue: any, args: ValidationArguments) {
          try {
            const params = args.constraints[0];
            const record = await getManager().query(
              `SELECT * FROM ${params.table} WHERE ${propertyName} = '${columnNameValue}'`
            );
            if (record[0]) return false;
            return true;
          } catch (error) {
            return false;
          }
        }
独特的.decorator.ts

  @_IsUnique({ table: 'pets' })
  readonly phone: string;
        async validate(columnNameValue: any, args: ValidationArguments) {
          try {
            const params = args.constraints[0];
            const record = await getManager().query(
              `SELECT * FROM ${params.table} WHERE ${propertyName} = '${columnNameValue}'`
            );
            if (record[0]) return false;
            return true;
          } catch (error) {
            return false;
          }
        }
但当我向dto发送更新的对象时,它将返回已经存在的错误。所以我想停止检查更新原始数据