首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Express-Validator条件验证

Express-Validator条件验证
EN

Stack Overflow用户
提问于 2020-05-24 02:12:13
回答 1查看 244关注 0票数 0

我正在尝试验证用户是否选中模板的任何复选框,如果用户选中了复选框,那么他/她选中了哪个复选框。我可以验证单个复选框,但在验证多个复选框时遇到问题。

我尝试过oneOf()函数,但它给出了如下所示的错误。我对解决这个问题的其他方法持开放态度。

代码语言:javascript
复制
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')
    }

})

错误图像:

EN

回答 1

Stack Overflow用户

发布于 2020-05-24 18:45:01

您缺少从express-validator导入函数。

要使验证生效,必须从express-validator导入函数checkoneOf

代码语言:javascript
复制
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')
        }
    })
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61976540

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档