【问题标题】:Nestjs applyDecorators for multiple decoratorsNestjs applyDecorators 用于多个装饰器
【发布时间】:2020-10-21 04:16:42
【问题描述】:
我想使用从@nestjs/common 导入的applyDecorators 创建自定义装饰器
...
applyDecorators(
@Field(),
@MinLength(2)
)
...
但我遇到了 typescript lint 错误。如何创建一个包含多个装饰器的自定义装饰器?
https://docs.nestjs.com/custom-decorators
"class-validator": "^0.11.0"
"@nestjs/common": "^7.0.9"
【问题讨论】:
标签:
nestjs
class-validator
class-transformer
【解决方案1】:
您可以使用applyDecorators 方法定义自定义装饰器方法。
applyDecorators 方法接受 PropertyDecorator 作为参数。所以请务必将它们转换为PropertyDecorator。
export const NameField = (options?: FieldOptions) =>
applyDecorators(
Field() as PropertyDecorator, // convert to PropertyDecorator
MinLength(2) as PropertyDecorator // convert to PropertyDecorator
)
)