Проверить массив, содержащий определенное значение, используя joi

Я ищу способ проверить, что массив содержит требуемое значение, используя joi.
Найдено эти проблемы в Интернете - # 1, # 2, но ни у одного из них нет однозначного ответа.
Я пробовал несколько вещей, но они, похоже, не работают, например: < br> joi.array().items(joi.string().allow('required-string').required()), joi.array().items(joi.string().label('required-string').required()), joi.array().items(joi.string().valid('required-string'))

Вот чего я пытаюсь достичь:

Принято:

['required-string'], ['required-string', 'other'], ['other','required-string'], ['other',...,'required-string',....,'more-other']

Отклонено:

[], ['other'], [null], etc..

person nirsky    schedule 07.08.2017    source источник


Ответы (1)


Вы можете использовать array.items, перечислив все разрешенные типы. Если заданным типом является .required(), то в массиве должен быть соответствующий элемент: справочник по API Joi

joi.array().items(joi.string().valid('required-string').required(), joi.string())
person Carsten    schedule 05.04.2018