Nestjs applyDecorators用于多个装饰器

tmp*_*ech 5 class-validator nestjs class-transformer

我想创建自定义装饰器并applyDecorators导入自@nestjs/common

...

applyDecorators(
  @Field(),
  @MinLength(2)
)

...
Run Code Online (Sandbox Code Playgroud)

但我遇到了 Typescript lint 错误。如何创建一个包含多个装饰器的自定义装饰器?

https://docs.nestjs.com/custom-decorators

"class-validator": "^0.11.0"
"@nestjs/common": "^7.0.9"
Run Code Online (Sandbox Code Playgroud)

Xin*_*g L 6

您可以使用 method 定义自定义装饰器方法applyDecorators

applyDecorators方法接受PropertyDecorator作为参数。所以请确保将它们转换为PropertyDecorator.

export const NameField = (options?: FieldOptions) =>
  applyDecorators(
    Field() as PropertyDecorator, // convert to PropertyDecorator
    MinLength(2) as PropertyDecorator // convert to PropertyDecorator
  )
)
Run Code Online (Sandbox Code Playgroud)