У меня есть 3 параметра запроса долгота , широта и радиус .
У меня есть 3 возможных условия:
- радиус - пусто, долгота и широта с некоторым значением
- все 3 параметра со значением
- все3 параметра пусто
Во всех остальных случаях отправьте ошибку проверки.
например
долгота = 3,12 - ошибка
широта = 2,12 радиус = 3,2 - ошибка
долгота = 12,12 широта = 2,12 - нормально
Моя схема выглядит следующим образом:
const schema = Joi.object().keys({
longitude: Joi.number().optional().error(new Error('LBL_BAD_LONGITUDE'))
.when('latitude', { is: Joi.exist(), then: Joi.number().required() })
.when('radius', { is: Joi.exist(), then: Joi.number().required() }),
latitude: Joi.number().optional().error(new Error('LBL_BAD_LATITUDE'))
.when('longitude', { is: Joi.exist(), then: Joi.number().required() })
.when('radius', { is: Joi.exist(), then: Joi.number().required() }),
radius: Joi.number().optional().error(new Error('LBL_BAD_RADIUS')),
});
В результате я получаю сообщение об ошибке
AssertionError [ERR_ASSERTION]: item added into group latitude created a dependencies error
Есть идеи, как проверить эти 3 параметра?