4

我正在尝试使用 express-validator,但它的功能都不起作用。我也没有收到任何错误。

例子:

const check = require('express-validator/check').check;

router.post('/register', check('someRandomName').exists(), (req, res) => userController.register(req, res));

express-validator 总是允许它,即使我没有someRandomName在 req.

我也尝试过使用body而不是check,但结果是一样的。

4

1 回答 1

13

check返回一个验证链,你想在它使用之后验证你的 req 中的结果,validationResult所以是这样的:

const {check , validationResult}  = require('express-validator/check');

router.post('/register', check('someRandomName').exists(), (req, res) => {
       var err = validationResult(req);
       if (!err.isEmpty()) {
           console.log(err.mapped())
           // you stop here 
       } else {
           // you pass req and res on to your controller
       }
}
于 2018-06-20T13:23:54.963 回答