Hapi Joi validation - 验证单个字符串

Hapi Joi validation - validate single string

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

问题是它总是 returns 'success' 即使没有 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');

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

您正在从验证函数解构 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");