问题描述
你好,我想在 express-validation 中集成 IF...else 语句,但我在运行时面临。
我知道我可以使用 Oneof() 但它返回 TypeError: chain.run is not a function
validator.js
const { validationResult,check } = require('express-validator');
exports.surveyValidation =[
[ [check('question.label').isLength({min:5}),check('question.mandatory').isBoolean()],check('question.min').isNumeric(),check('question.max').isNumeric()]
]
exports.validate =(req,res,next)=>{
const errors = validationResult(req);
console.log(`errors`,errors)
if (!errors.isEmpty()) {
console.log(`errors`,errors)
return res.status(422).json({ errors: errors.array() });
}
return next()
}
可以有一个罐子,我可以在其中调用没有 question.min 和 question.max 的路线,所以我只想验证这个字段,如果它存在,否则我可以继续没有问题。 >
因为验证是用来存储问题的,关闭的问题没有这个键
api.js
app.post("/api/question",surveyValidation,validate,(req,res) => {
surveyDao.question(req.body.question,req.body.idSurvey)
.then(result => {
res.json(result)
})
.catch(err => {
console.log(`err`,err)
res.status(500).send(err)
})
})
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)