Express-Validator使用Regex处理请求正文字段

时间:2019-10-08 06:30:23

标签: regex express

我的POST请求将名称类似于email-0email-1email-2的表单字段发送到Express后端,但是此类字段的确切数量可能有所不同。当我事先不知道所有实际名称时,如何使用Validation API来检查这些字段。我曾尝试使用正则表达式:body('\\^email-[0-9]*$\\', 'Must be valid email.').isLength({min: 5}).trim(),,但到目前为止,我还没有使用它。

我不能正确地转义正则表达式吗,还是根本无法以这种方式使用正则表达式?如果不是,是否有我想要的其他解决方案,即当我们事先不知道所有确切的字段名称时? (我在official Express-Validator documentation中阅读了有关通配符的说明,但是这些似乎在这里不适用,或者我错过了什么吗?)。

1 个答案:

答案 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(); }