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

Javascript Hapi Joi验证-验证单个字符串,javascript,node.js,express,validation,hapijs,Javascript,Node.js,Express,Validation,Hapijs,我想对一个字符串做一些基本的验证,这个字符串是一个请求头X值。下面是我的尝试 问题是,即使不存在X值头,它也总是返回“success” 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(40

我想对一个字符串做一些基本的验证,这个字符串是一个请求头X值。下面是我的尝试

问题是,即使不存在X值头,它也总是返回“success”

  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。但是没有这样的事情。您需要销毁错误并按如下方式使用:

const mySchema=Joi.string.min2.max30.required; 常量值=要求获取“X值”; const{error}=mySchema.validatevalue; 如果错误{ 返回res.status401.json{error:error.details[0].message}; } 返回res.sendsucture;