【发布时间】:2019-07-29 14:42:59
【问题描述】:
我尝试验证查询参数 userId。
如果用户是管理员,那么他可以使用任何用户 ID。
如果不是 - 则使用特定数组中的唯一 id。
const validUserIds = isUserAdmin ? req.query.userId : userIds;
const schema = Joi.object().keys({
userId: Joi.string().optional().regex(UUIDRegex).valid(validUserIds),
});
Joi.validate(req.query, schema).then(.....);
问题:当我们发送错误的用户 ID(例如'abc'等,正则表达式验证应该失败)并且用户是管理员然后验证成功。
我可以创建这样的内容吗:如果用户是管理员,则仅通过 rexeg 验证,如果不是 - 通过 regex + 有效 id 列表验证。
【问题讨论】:
标签: javascript node.js validation joi