nestjs - 不能在nestjs中同时使用IsOptional和Transform装饰器
问题描述
我正在尝试在嵌套 dto 类中创建一个具有默认值的可选字段。到目前为止,我已经为我的特定字段完成了此操作(如果该字段存在,则使用该字段,否则使用2
):
@Transform((value) => value || 2)
@IsOptional()
@IsNumber()
monitorBackgroundInterval: number
我仔细检查了验证管道是否在我的应用程序中全局使用,因此在使用我的路由时会调用转换:
app.useGlobalPipes(new ValidationPipe({ transform: true }))
但我认为@Optional
装饰器正在接受@Transform
装饰器,我试图在转换中登录,但它没有被调用。在尝试我的路线并记录 dto 时,该字段根本没有出现,因此转换无法正常工作。
我知道这是可能的,所以我很确定这是我的错误。
是否有特定的顺序需要遵守才能使其发挥作用?我错过了什么吗?
谢谢你的时间 !
解决方案
由于您将默认值设置为 2,这意味着该字段将始终具有一个值,因此不需要 @IsOptional。
推荐阅读
- openldap - Migrate data from one openldap to another one
- python - 如何使用 OpenCV-Python 检测照片上的黑色轮廓
- c# - 将字符串转换为浮点数对于某些数字但不是其他数字失败
- database - 服务器端预取数据库数据是否存在任何安全风险?
- sql - 如何在 SQLite 中将两列组合在一起?
- python - PyTest 弃用:'junit_family 默认值将更改为'xunit2'
- android - 创建新的 kotlin 项目时无法解决依赖关系
- multithreading - 线程中的 QProcess 有效,但有两种类型的输出错误
- wpf - ArcGIS .NET 从 WebMercator 转换为 Wgs84
- javascript - 停止制作表单以重新加载页面