我正在尝试创建一个joi架构,其中有一堆已知和未知的密钥。
Context()
基本上前4个键总是在那里,但最后一个键是键,后缀是0-100的随机数。我知道你可以做一个正则表达式模式,但我想要对前4个键进行完全独特的验证。
答案 0 :(得分:1)
我已经假设了每个字段的实际有效性,但这将同时验证属于key[0-100]: 'string'
模式的已定义字段和变量字段。
要取消的关键方面是使用.pattern()
。
Joi.object().keys({
dogname: Joi.string(),
catname: Joi.string(),
dogage: Joi.number().integer().positive(),
catage: Joi.number().integer().positive()
}).pattern(/^key[0]|[1-9][0-9]?|100/, Joi.string());