#javascript #joi
#javascript #joi
Вопрос:
Я пытаюсь проверить массив чисел длиной 1-2 элемента, числа также ограничены диапазоном от -60 до 60. Я не могу понять, как проверить, что первый элемент должен быть меньше второго.
Пример моего кода:
a: joi.array().items(joi.number().min(-60).max(60)).min(1).max(2)
.required()
.error(() => ''))
Ответ №1:
В Joi есть метод сортировки для массивов. В вашем случае решением было бы
{
a: Joi.array()
.min(1).max(2).required()
.items(Joi.number().min(-60).max(60).strict(true))
.sort({
order: "ascending",
}).strict()
}
Это означает, что поле a
является обязательным массивом с минимальной длиной 1 и максимальной длиной 2. Его элементы являются строго числами (без числовой строки), минимальное значение равно -60, а максимальное — 60 (диапазон от -60 до 60).
Его элементы должны быть отсортированы в порядке возрастания.
Чтобы включить сообщение об ошибке для этого, проверьте ошибку сортировки массива