1

我正在尝试将 GET 参数转换为布尔值。我正在使用带有类验证器和类转换器的 NestJS。我已经在验证器管道选项中设置enableImplicitConversion了。true

class ExampleDto {
  @Transform(value => value === 'true')
  prop1: boolean;
}

现在的问题是,GET 参数的值始终是字符串,因此隐式转换将始终将其转换为true. 我可以通过运行自定义逻辑来阻止它,但是在我可以运行任何自定义逻辑(即@Transform 装饰器)之前执行隐式转换。

有没有办法在它被转换之前获得价值?

或者,还有其他方法可以实现我想要实现的目标吗?(例如,禁用属性的隐式转换等)

4

1 回答 1

1

我想到了。

我们传递给@Transform装饰器的函数有 3 个参数。其中之一是原始对象(没有转换)。

于 2021-01-01T15:33:32.350 回答