【发布时间】:2019-03-01 02:12:03
【问题描述】:
我想使用 express-validator 来检查邮件是否存在 这是我的代码:
router.post('/', [
check('username', 'Min 5 chars, Max 20').isLength({ min: 5, max: 20 }),
check('email').custom(async value => {
const db = require('../db');
return await db.query('SELECT id FROM users WHERE email=?', [value], function (err, results, fields) {
if (results.length > 0) {
return false;
} else { return true; }
})
}).withMessage('Email already exists'),
], function(req, res, next) {
const errors = validationResult(req);
if (!errors.isEmpty()) {
return res.status(422).json({ errors: errors.array() });
}
....
async/await 的问题是验证根本没有执行,即使返回是 true 或 false。如何解决?
【问题讨论】: