【发布时间】:2020-04-03 16:20:50
【问题描述】:
我正在尝试使用 JOI 和 express-validation 验证查询字符串。
我需要查询参数 ?query[primaryOrgId]=5d2f2c836aeed10026ccba11 是单个字符串或字符串数组,这是必需的。
以下架构正在按预期验证primaryOrgId(当它存在时),但并未验证它是否是必需的:
index: {
body: {},
query: {
query: {
primaryOrgId: Joi.alternatives().try(
Joi.array().items(Joi.string().regex(mongoId)),
Joi.string().regex(mongoId),
).required()
},
},
options: {
allowUnknownQuery: false,
allowUnknownBody: false,
},
},
我也试过了:
index: {
body: {},
query: {
query: {
primaryOrgId: Joi.alternatives().try(
Joi.array().items(Joi.string().regex(mongoId).required()),
Joi.string().regex(mongoId).required(),
)
},
},
options: {
allowUnknownQuery: false,
allowUnknownBody: false,
},
},
}
如何确保查询字符串中存在primaryOrgId?
【问题讨论】: