首页 > 解决方案 > 如何使用 Joi 验证电子邮件

问题描述

我正在关注这个 Node.js 教程,但 .validate 方法给了我一个错误
链接:https
://www.youtube.com/watch?v= RLtyhwFtXQA Timestamp: 2:07:40

编码:

app.post("/", (req, res) => {
  console.log(req.body);
  const schema = Joi.object().keys({
    email: Joi.string().trim().email().required(),
    pswd: Joi.string().min(5).max(10).required()
  });
  Joi.validate(req.body, schema, (err, result) => {
    if(err) console.log("Error" + err);
    else {
      console.log(result);
      res.send("Successfully Posted Data");
    }
  });
});

错误信息:TypeError: Joi.validate is not a function

该视频是 2 年前发布的,因此 Joi 可能已经更改了 VS Code 的功能,也没有将 .validate 显示为 Joi 的功能。

标签: javascriptnode.jsvalidationjoi

解决方案


不确定您使用的 Joi 版本,但最新的 Joi 通过模式而不是 Joi 进行验证,例如:

schema.validate(req.body);

推荐阅读