即使日期更大,嵌套类验证器 minDate 也会引发错误

LTF*_*eal 7 class-validator nestjs

@isDateString()我将 Nest 与类验证器一起使用,并尝试使用和验证 UI 提供的日期不早于今天@MinDate()

export class SchemaDto {
    @IsOptional()
    @IsDateString()
    @MinDate(new Date())
    myDate?: Date;
}
Run Code Online (Sandbox Code Playgroud)

我发送的数据是反对日期,日期如下:

    Mon Oct 04 2021 00:00:00 GMT-0400 (Eastern Daylight Time)
Run Code Online (Sandbox Code Playgroud)

我从类验证器得到的错误是:

     minimal allowed date for myDate is Fri Oct 01 2021 15:57:18 GMT-0400 (Eastern Daylight Time) 
Run Code Online (Sandbox Code Playgroud)

问题:

如果我删除 minDate 装饰器,一切正常,但我宁愿验证这个常见情况。

信息:打字稿:~4.1.4

节点:12.4.0

类验证器:0.13.1

巢:7.0.0

小智 15

使用@MinDate进行验证

export class SchemaDto {
    @IsNotEmpty()
    @Transform( ({ value }) => new Date(value))
    @IsDate()
    @MinDate(new Date())
    myDate: Date;
}
Run Code Online (Sandbox Code Playgroud)

但如果 value 是可选的,它可能为 null 或未定义,所以:

export class SchemaDto {
    @IsOptional()
    @Transform( ({ value }) => value && new Date(value))
    @IsDate()
    @MinDate(new Date())
    myDate?: Date;
}
Run Code Online (Sandbox Code Playgroud)