【问题标题】:Hapi Joi validation - validate single stringHapi Joi 验证 - 验证单个字符串
【发布时间】:2020-04-14 18:35:58
【问题描述】:

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

问题是即使没有X-Value 标头,它也总是返回“成功”。

  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');

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

【问题讨论】:

    标签: javascript node.js express validation hapijs


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2018-09-24
      • 2013-10-19
      • 2019-10-10
      • 2020-05-30
      • 2018-05-25
      • 2018-06-25
      • 2018-07-25
      • 2018-06-01
      • 2015-04-29
      相关资源
      最近更新 更多