将属性分配给另一个Dto

时间:2020-05-16 23:04:10

标签: javascript node.js nestjs class-validator

我正在研究一个nestjs项目,我想知道是否可以在Dto中为另一个属性赋值Attribute,以进行更多解释。

这种情况是我想将idData分配给IsUniqueValidator中的id。

我尝试了这段代码,但是返回未定义:

export class UpdateCompanyDto {

public idData  ;

  @IsNotEmpty()
  @Validate(IsUniqueValidator, 
    [ { table: "company", column: "name",isNumber : false,id: this.idData ,columnid : "id"   }] )
  companyname: string;

结果:

    {
  table: 'company',
  column: 'name',
  isNumber: false,
  id: undefined,
  columnid: 'id'
}

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

您不需要分配它,可以在处理程序中找到它

validate(value: any, validationArguments?: ValidationArguments) {
  console.log(validationArguments.object.idData);
}
export interface ValidationArguments {
    value: any;
    constraints: any[];
    targetName: string;
    object: Object; // <- that's what you need
    property: string;
}