【问题标题】:cant make a validation to mongoose schema with nestjs-joi lib无法使用 nestjs-joi lib 对 mongoose 模式进行验证
【发布时间】:2021-05-23 19:01:03
【问题描述】:

我正在尝试在 nestjs 中使用带有猫鼬模式的 joi 验证,但是有一个错误我无法解决 这是我的代码 schema.dto.ts

import Joi from "joi"
import { JoiSchema, JoiSchemaOptions } from "nestjs-joi" 

@JoiSchemaOptions({
    allowUnknown: false,
  })
export class EmployeesJoi {
    @JoiSchema(Joi.string().required())fullName!: string;
  }

这里是我的控制器的一个小演示

    @Post('AddNew') 
       async add(@Body() employee: EmployeesJoi ) {

           await console.log(employee)

        }
}

最后,我遇到了这个错误

开始筑巢

H:\000\training-center\dist\employees\dto\employees.dto.js:21 nestjs_joi_1.JoiSchema(joi_1.default.string().required()), ^

TypeError: Cannot read property 'string' of undefined
    at Object.<anonymous> (H:\000\training-center\dist\employees\dto\employees.dto.js:21:42)
    at Module._compile (internal/modules/cjs/loader.js:1063:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)
    at Module.load (internal/modules/cjs/loader.js:928:32)
    at Function.Module._load (internal/modules/cjs/loader.js:769:14)
    at Module.require (internal/modules/cjs/loader.js:952:19)
    at require (internal/modules/cjs/helpers.js:88:18)
    at Object.<anonymous> (H:\000\training-center\dist\employees\employees.controller.js:18:25)

【问题讨论】:

    标签: node.js typescript nestjs joi


    【解决方案1】:

    我很确定joi 的导出被命名为导出,所以你需要这样做

    import * as Joi from 'joi';
    

    而不是

    import Joi from 'joi';
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-11
      • 2020-08-04
      • 1970-01-01
      • 2016-02-19
      • 1970-01-01
      • 2020-03-01
      相关资源
      最近更新 更多