5

我有一个 NestJS 项目,其中我同时使用类验证器和类转换器,并且我需要在类验证器引发错误之前执行类转换器。

给定以下课程:

export class CreateProfileDto {
  @IsString()
  @Expose({ name: 'name' })
  profileName!: string;

  @IsBoolean()
  @Expose({ name: 'active'})
  profileActive!: boolean;
}

我需要使用属性名称而不是属性 profileName 来公开错误,其他属性也是如此。

有什么直接的想法来管理这个吗?不能要求前端向我发送具有不同名称的属性,这就是我需要调整它们的原因。

我想通过管道这样做,但在错误爆发之前无法使用它。

当前错误格式:

{
    "statusCode": 400,
    "error": "Bad Request",
    "message": [
        {
            "target": {
                "profileName": 1
            },
            "value": 1,
            "property": "profileName",
            "children": [],
            "constraints": {
                "isString": "profileName must be a string"
            }
        }
    ]
}

所需的错误格式:

{
    "statusCode": 400,
    "error": "Bad Request",
    "message": [
        {
            "target": {
                "name": 1
            },
            "value": 1,
            "property": "name",
            "children": [],
            "constraints": {
                "isString": "name must be a string"
            }
        }
    ]
}
4

0 回答 0