Mysql 使用类验证器编辑DTO验证
今天,我试图弄清楚如何使用类验证器和自定义装饰器在nestjs中验证补丁请求 宠物编辑.dto.tsMysql 使用类验证器编辑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];
@_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发送更新的对象时,它将返回已经存在的错误。所以我想停止检查更新原始数据