Joi - 已知和未知密钥的混合
Joi - Mix of known and unknown keys
我正在尝试创建一个 joi 模式,其中我有一堆已知和未知的键。
{
dogname: 'doggo',
catname: 'attack',
dogage: 51,
catage: 98,
key51: '',
key73: '',
key47: ''
}
基本上前 4 个密钥始终存在,但最后一个密钥是带有某个随机数 0-100 后缀的密钥。我知道你可以做一个正则表达式模式,但我想要前 4 个键的完整唯一验证。
我假设每个字段都进行了实际验证,但这将验证属于 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());
我正在尝试创建一个 joi 模式,其中我有一堆已知和未知的键。
{
dogname: 'doggo',
catname: 'attack',
dogage: 51,
catage: 98,
key51: '',
key73: '',
key47: ''
}
基本上前 4 个密钥始终存在,但最后一个密钥是带有某个随机数 0-100 后缀的密钥。我知道你可以做一个正则表达式模式,但我想要前 4 个键的完整唯一验证。
我假设每个字段都进行了实际验证,但这将验证属于 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());