我正在使用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个字符的名称,但是没有被捕获。
答案 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
});