У меня есть объект с именами клавиш, которые я не могу знать - они созданы пользователем. Однако я знаю, какие значения они (ключи) собираются хранить, и они (значения) будут представлять собой строки ISO. Как проверить эти значения? И, необязательно, как я проверить ключи Неизвестного объекта, то есть:Проверка объекта Joi: как проверить значения с неизвестными именами ключей?
key: Joi.string().min(2).max(25)
То, что я уже пробовал был основан на дом API Docs:
Another benefits of using Joi.object([schema]) instead of a plain JS object is >that you can set any options on the object like allowing unknown keys, e.g:
const schema = Joi.object({ arg: Joi.string().valid('firstname', 'lastname', 'title', 'company', 'jobtitle'), value: Joi.string(), }).pattern(/firstname|lastname/, Joi.string().min(2));
То, что я понял из примера является то, что arg
ключ представляет Joi.object()
key
и value
представляет собой value
.
Мой пример:
campaign: Joi.object({
arg: Joi.string().valid('unknown'),
value: Joi.date().iso(),
}).pattern(/unknown/, Joi.string().min(2).max(25))
Мой вход;
campaign: { g_ad_adwords: "2017-01-19T11:33:26.205Z" }
Моя ошибка:
"campaign" fails because ["g_ad_adwords" is not allowed]