Express API - 验证 req.body 元素
Express API - Verifying req.body elements
我使用 express 和 node.js 构建一个 api。
我正在进行基本验证,并希望验证传入的项目是否存在并且是安全的(除了客户端的验证之外还完成)。
所以我有以下几点:
router.post('/register', function(req, res) {
for (var itemsFromBody in req.body){
console.log(itemsFromBody);
}
但是,当我检查控制台时,我看到的只是密钥的名称,例如用户名,电子邮件等,而不是值本身。
我如何获得这些?
此外,我将对这些进行验证,例如确保它不为空 - 我是否需要遵循一个简单的 if-then 语句,或者是否存在一些不错的 npm 包可以让我验证?
谢谢!
for (var itemsFromBodyIndex in req.body){
if (req.body.hasOwnProperty(itemsFromBodyIndex)) {
console.log(req.body[itemsFromBodyIndex]);
}
}
这应该有效!
有用的链接:
- https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Instructions/for...in
- https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Objets_globaux/Object/hasOwnProperty
如果你的所有字段都是必需的,那么错误捕获器进入循环呢?
for (var itemsFromBodyIndex in req.body){
if (req.body.hasOwnProperty(itemsFromBodyIndex)) {
console.log(req.body[itemsFromBodyIndex]);
if(req.body[itemsFromBodyIndex] == null){
// handle empty field
}
}
}
正如您在上面注意到的,for -- in
只会为您提供密钥。您需要使用这些键来获取值
for (var itemsFromBody in req.body){
console.log("Key: " + itemsFromBody + " Value: " + req.body[itemsFromBody]);
}
相关文章:
- 为什么body元素上的onclick事件不起作用
- jQuery多点击事件附加到Body元素(AJAX加载的内容)
- Express API - 验证 req.body 元素
- 使用squishat并在body元素的末尾渲染外部minimiedjs
- 我如何知道DOM“body”元素何时可用
- 仅使用javascript获取站点的body元素
- 在灯箱调用中选择iframe BODY元素
- 在指令中获取body元素
- 如何使用 jquery 获取 body 元素
- 如何将body元素添加到空DOM文档中?
- 如何在Javascript中渲染body元素
- 附加一个JS到body元素
- 无法更改body元素的html
- 对body元素及其内容进行模糊处理,然后在顶部显示未模糊的元素
- 我可以在body元素上应用click事件吗?
- 无法从ajax响应中获取body元素
- Chrome扩展:在内容脚本内附加DIV到BODY元素不工作
- 捕获鼠标离开body元素越过顶部边界
- 如何在iOS的uiwebview中检测整个body元素的onclick事件?
- Jquery在body元素中查找表列中的特定列