我正在尝试验证用户是否选中模板的任何复选框,如果用户选中了复选框,那么他/她选中了哪个复选框。我可以验证单个复选框,但在验证多个复选框时遇到问题。
我尝试过oneOf()函数,但它给出了如下所示的错误。我对解决这个问题的其他方法持开放态度。
app.post('/menu-detail/:id', [
oneOf([
check('menu_price_large', 'required').equals('large'),
check('menu_price_regular', 'required').equals('regular'),
check('menu_price_xlarge', 'required').equals('xlarge'),
])
], (req, res)=>{
const errors = validationResult(req)
if(errors.isEmpty())
{
res.send('worked...')
}
else
{
res.send('error')
}
})错误图像:

发布于 2020-05-24 18:45:01
您缺少从express-validator导入函数。
要使验证生效,必须从express-validator导入函数check和oneOf
const { check, oneOf, validationResult } = require('express-validator');
app.post('/menu-detail/:id', oneOf([
check('menu_price_large', 'required').isIn(['large']),
check('menu_price_regular', 'required').isIn(['regular']),
check('menu_price_xlarge', 'required').isIn(['xlarge'])
]), (req, res)=>{
const errors = validationResult(req)
if(errors.isEmpty()){
res.send('worked...')
} else {
res.send('error')
}
})https://stackoverflow.com/questions/61976540
复制相似问题