javascript - Hapi Joi 验证 - 验证单个字符串
问题描述
我想对作为请求标头的单个字符串进行一些基本验证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');
如何在不将其放入对象的情况下验证这一点?
解决方案
您正在myError
从 validate 函数中解构。但是没有这样的事情。您需要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");
推荐阅读
- java - 有没有办法让 Guice 保留注释?
- java - 我无法根据来自下游的响应标头更改全局过滤器中的 Spring 云网关响应?
- javascript - 如何在 slatejs 中获取光标位置或选择?
- python - 使用 AWS S3 数据在 Django 中创建模型并指向它们
- java - Java 和 Openssl 为相同的私钥生成不同长度的公钥
- json - 如何读取excel单元格中的文本并使用python替换json输出中的其他值?
- javascript - 从 mxGraph 导出为 PNG 图像
- php - 将参数作为数组传递给 call_user_func_array() 时如何在一个数组中接收参数
- api - 文本翻译 API 正在翻译 URL
- django - Django 单击后,URL 更改,但页面未加载