如何使用类验证器验证日期数组?

web*_*ber 5 api class-validator nestjs

我想验证发布请求正文中的日期数组:

{
    "meals": [...],
    "dates": [
        "2022-03-06T11:00:00.000Z",
        "2022-03-07T11:00:00.000Z"
    ]
}
Run Code Online (Sandbox Code Playgroud)

这是我的 dto 课程:

export class CopyMealsPlanDto {
...// Another array

  @IsArray()
  @ValidateNested({ each: true })
  @IsDate()
  @Type(() => Date)
  dates: Date[];
}

Run Code Online (Sandbox Code Playgroud)

但我收到这个错误:

{
    "statusCode": 400,
    "message": [
        "dates must be a Date instance"
    ],
    "error": "Bad Request"
}
Run Code Online (Sandbox Code Playgroud)

小智 6

试试这个:

export class CopyMealsPlanDto {
...// Another array

  @IsDateString({}, { each: true })
  dates: Date[];
}
Run Code Online (Sandbox Code Playgroud)

您可以在此处阅读有关如何验证数组的更多信息。