NestJS:内置的ValidationPipe无法正常工作

时间:2018-07-17 03:55:26

标签: nestjs

我正在尝试在控制器中使用内置的ValidationPipe。

@Post('/password')
async changePassword(@Body(new ValidationPipe()) changePasswordSchema: ChangePasswordSchema, @Req() request) {
    const { oldPassword, newPassword } = changePasswordSchema
    return await this.usersService.changePassword(request.user.id, oldPassword, newPassword)

}

import { MinLength } from 'class-validator'

export class ChangePasswordSchema {
   @MinLength(10)
   readonly oldPassword: string
   @MinLength(10)
   readonly newPassword: string
}

验证无效。调试 validation.pipe.js 后,我发现未定义 元类型 ,这导致该值返回为是,无需转换或验证。

async transform(value, metadata) {
  const { metatype } = metadata;
  if (!metatype || !this.toValidate(metadata)) {
      return value;
  }

有什么办法解决吗?

谢谢 德克尔

0 个答案:

没有答案