javascript - Hapi Joi 验证 - 验证单个字符串

标签 javascript node.js express validation hapi.js

我想对单个字符串(请求 header X-Value)进行一些基本验证。以下是我的尝试。

问题是即使不存在 X-Value header ,它也始终返回“成功”。

  const mySchema = Joi.string().min(2).max(30).required();
  const value = req.get('X-Value');
  const { myError } = mySchema.validate(value);
  if(myError){
    return res.status(401).json({ error: myError.details[0].message });
  }

  return res.send('success');

如何在不将其放入对象中的情况下验证它?

最佳答案

您正在从验证函数解构myError。但不存在这样的事情。您需要解构 error 并像这样使用:

const mySchema = Joi.string().min(2).max(30).required();
const value = req.get('X-Value');
const { error } = mySchema.validate(value);

if (error) {
  return res.status(401).json({ error: error.details[0].message });
}

return res.send("success");

关于javascript - Hapi Joi 验证 - 验证单个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61205181/

相关文章:

node.js - 凭据错误 : Missing credentials in config in nodejs aws-sdk

node.js - 如何将 'resolve' MongoDB 对象转换为 Nodejs 中的特定 JSON 结构?

node.js - 使用 SequelizeJS 查找或创建

javascript - 为什么作为参数传递的方法在这里不起作用

javascript - 两个日期时间字符串有什么区别?

javascript - 如果请求正文不包含模型中的所有内容 - 拒绝 ||火力基地

javascript - 如何在javascript中访问对象中的对象

javascript - NodeJS 未处理的 promise 拒绝问题

node.js - 使用express-session和express-socket.io-session NodeJs时出错

javascript - 如何在 ANTD 设计菜单中添加自定义图像/图标?