Express API - 验证 req.body 元素

use*_*od2 5 javascript node.js express

我正在使用express和node.js构建一个api。

我正在进行基本验证,并希望验证传入的项目是否存在且安全(除了在客户端进行验证之外还完成)。

所以我有以下内容:

router.post('/register', function(req, res) {

  for (var itemsFromBody in req.body){
    console.log(itemsFromBody);

}
Run Code Online (Sandbox Code Playgroud)

然而,当我检查控制台时,我看到的只是键的名称,例如用户名、电子邮件等,而不是值本身。

我如何获得这些?

另外,我将对这些进行验证,例如确保其不为空 - 我是否需要遵循简单的 if-then 语句,或者是否存在一些不错的 npm 包允许我进行验证?

谢谢!

Nic*_*cci 4

for (var itemsFromBodyIndex in req.body){
    if (req.body.hasOwnProperty(itemsFromBodyIndex)) {
       console.log(req.body[itemsFromBodyIndex]);
    }
}
Run Code Online (Sandbox Code Playgroud)

这应该可行!

有用的链接:

如果所有字段都是必需的,那么在循环中加入错误捕获器怎么样?

for (var itemsFromBodyIndex in req.body){
    if (req.body.hasOwnProperty(itemsFromBodyIndex)) {
        console.log(req.body[itemsFromBodyIndex]);

        if(req.body[itemsFromBodyIndex] == null){
            // handle empty field            
        }

    }
}
Run Code Online (Sandbox Code Playgroud)