Есть ли способ проверить имена динамических ключей в схеме Joi?

Есть ли способ, которым я могу проверить значение с помощью этого Joi чтобы я мог проверить, что это объект с нулевым или большим количеством ключей (с любым именем), и что у каждого есть значения либо строки, числа, либо логического значения?

{
  dynamicallyNamedKey1: 'some value',
  dynamicallyNamedKey2: 4
}

1 ответ

Вы собираетесь хотеть использовать Joi "s object().pattern() метод. Это специально для проверки объектов с неизвестными ключами.

Для сопоставления одного или нескольких типов данных на одном ключе вам понадобится alternatives().try() (или просто передать массив Joi типов).

Таким образом, правило, чтобы соответствовать вашим потребностям было бы:

Joi.object().pattern(/^/, Joi.alternatives().try(Joi.string(), Joi.number(), Joi.boolean()))
Другие вопросы по тегам