Несколько типов проверки Joi

Я много ищу, но ничего не нашел, чтобы разрешить проверку нескольких типов в Joi

Ссылка: https://github.com/hapijs/joi

Я бы хотел использовать что-то вроде этого:

validate: {
    type: joi.or([
        joi.string(),
        joi.array(),
    ])
};

person Mr.Orange    schedule 04.01.2017    source источник
comment
Ответил ли мой пост ниже на ваш вопрос? Если да, то вы можете подумать о том, чтобы принять ответ, чтобы другие люди увидели ответ при поиске по этой теме.   -  person rsp    schedule 10.01.2017


Ответы (2)


Пытаться:

validate: {
    type: joi.alternatives().try(joi.string(), joi.array())
}

or:

validate: {
    type: [joi.string(), joi.array()]
}

См .: https://github.com/hapijs/joi/blob/v10.1.0/API.md#alternatives

person rsp    schedule 04.01.2017

export const saveDeviceCommandsSchema = {
  devices: [
    Joi.array().items(Joi.string().required()).required(),
    Joi.string().valid('all').required().lowercase()
  ],
  info: Joi.array()

}; пример, указывающий для объекта больше, чем правило проверки

person DLoneDeveloper    schedule 02.01.2019
comment
Спасибо работает у меня. - person Henrique Van Klaveren; 19.03.2021