【发布时间】:2022-01-18 16:02:52
【问题描述】:
我正在尝试使用 express-validator 验证/允许诸如 +originalUrl、-originalUrl、+createdAt 之类的词集。
它支持允许模式的 .matches。 https://github.com/validatorjs/validator.js/
这是我的模式
query('sort_by')
.optional()
.matches(/^(+originalUrl|-originalUrl)$/)
.withMessage({
error: 'Invalid parameter value',
detail: {
max_results: 'parameter value (+originalUrl|-originalUrl) is allowed',
},
}),
试过.matches(/^(\+originalUrl|-originalUrl)$/)但没用。
不知何故,我觉得阅读“+”有问题。 在我的后端 + 被编码为 %20,所以尝试用 %20 替换 + 但没有成功。
更新:在记录查询参数时 + 被视为 ' orignalUrl' 和 .isIn([' orginalUrl'] 现在可以工作,但我仍然如何转换或查询 + 因为有人可以输入 'originalUrl' 这仍然有效,因此得到验证这是不可取的。
也尝试询问验证人员 -> https://github.com/express-validator/express-validator/issues/1122
我如何检查 +something ?
【问题讨论】:
标签: javascript node.js express express-validator