我的POST请求将名称类似于email-0
,email-1
,email-2
的表单字段发送到Express后端,但是此类字段的确切数量可能有所不同。当我事先不知道所有实际名称时,如何使用Validation API来检查这些字段。我曾尝试使用正则表达式:body('\\^email-[0-9]*$\\', 'Must be valid email.').isLength({min: 5}).trim(),
,但到目前为止,我还没有使用它。
我不能正确地转义正则表达式吗,还是根本无法以这种方式使用正则表达式?如果不是,是否有我想要的其他解决方案,即当我们事先不知道所有确切的字段名称时? (我在official Express-Validator documentation中阅读了有关通配符的说明,但是这些似乎在这里不适用,或者我错过了什么吗?)。
答案 0 :(得分:0)
看起来像这样:
30
代替 (req,res,next)=> {
Object.keys(req.body).filter(fld=>fld.match(new RegExp('^email\\S*-[0-9]*$'))).forEach(fld=>
body(fld, 'Must be valid email.').isLength({min: 5}).trim());
next();
}