【问题标题】:i get 'Joi.object.keys is not a function' error message from nodemon when i try to use .keys()当我尝试使用 .keys() 时,我从 nodemon 收到“Joi.object.keys 不是函数”错误消息
【发布时间】:2021-08-08 00:01:24
【问题描述】:

当我尝试使用 joi.object.keys 时出现错误。我在之前的项目中使用了 joi.object.keys 函数,但没有出现任何错误。

const checkSchema = Joi.object.keys({ // error is here
email: Joi.string().email({ minDomainSegments: 2 }),
password: Joi.string().pattern(new RegExp('^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$ %^&*-]).{8,}$')),
confirmPassword: Joi.string().valid(Joi.ref('password')).required(),

});

【问题讨论】:

    标签: javascript node.js joi


    【解决方案1】:

    可能是由于版本更改。 你试过 Joi.object().keys({.......}) 吗?这将起作用。 如果上述解决方案不起作用,请分享您的版本

    【讨论】:

      【解决方案2】:

      您可能在以前的项目中使用旧版本的 JOI。在他们最新的文档中,他们在初始化时删除了 object 关键字。你应该试试这个:

      const Joi = require("joi");
      const checkSchema = Joi.object().keys({ // I changed here
        email: Joi.string().email({ minDomainSegments: 2 }),
        password: Joi.string().pattern(
          new RegExp(
            "^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$ %^&*-]).{8,}$"
          )
        ),
        confirmPassword: Joi.string().valid(Joi.ref("password")).required(),
      });
      

      文档链接:https://joi.dev/api/?v=17.4.2

      【讨论】:

      • 嗨,我在两个项目中使用相同版本的 Joi,即 17.4.0
      • 谢谢你,这行得通。我没有意识到 object 关键字是一个函数。
      猜你喜欢
      • 2014-05-03
      • 2022-11-28
      • 1970-01-01
      • 2021-10-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-07
      相关资源
      最近更新 更多