Express-Validator不执行检查

时间:2019-01-02 20:09:32

标签: javascript node.js express express-validator

我正在使用Express开发一个简单的程序。我添加了Express-Validator来对EJS索引文件进行检查

声明:

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

用法:

//This is to post the added customer
app.post('/users/add',
check('first_name').isLength({min:5}).withMessage('Name min 5 char'), (req, res) => {

});

测试: 我在名称字段中输入了3个字符的名称,但是没有被捕获。

1 个答案:

答案 0 :(得分:0)

从v5.3.1(最新版本)开始,express-validator不会自动响应您的请求。

check()函数在匹配的字段上运行您配置的检查,并将错误存储在请求中。
然后,您必须使用validationResult()才能确定您的验证是否失败,例如:

app.post('/users/add', [
  check('first_name').isLength({ min: 5 }).withMessage('Name min 5 char')
], (req, res) => {
  // Finds the validation errors in this request and wraps them in an object with handy functions
  const errors = validationResult(req);
  if (!errors.isEmpty()) {
    return res.status(422).json({ errors: errors.array() });
  }

  // Proceed and create the user
});

the Getting Started guideValidation Result API中有更多可用内容。