无法在nestjs中同时使用IsOptional和Transform装饰器

问题描述 投票:0回答:1

我正在尝试在嵌套dto类中创建具有默认值的可选字段。到目前为止,我已经为我的特定字段完成了此操作(如果存在该字段,请使用该字段,否则请使用2):

@Transform((value) => value || 2)
@IsOptional()
@IsNumber()
monitorBackgroundInterval: number

我仔细检查了验证管道是否在我的应用程序中全局使用,因此在使用我的路由时将调用转换:

app.useGlobalPipes(new ValidationPipe({ transform: true }))

但是我认为@Optional装饰器承担着@Transform装饰器,我尝试在转换内部登录,但未调用它。当尝试我的路线并记录dto时,该字段完全没有出现,因此转换无法正常进行。

我知道这是可能的,所以我很确定这是我的错误。

为了使它起作用,是否有要遵守的特定命令?我错过了什么吗?

感谢您的时间!

nestjs dto class-validator class-transformer
1个回答
0
投票

由于您将默认值设置为2,这意味着该字段将始终具有一个值,因此不需要@IsOptional。

© www.soinside.com 2019 - 2024. All rights reserved.