В одном месте я вношу в formData массив значений таким образом:
for (let i = 0; i < arr.length; i++) {
formData.append("arr", arr[i]);
}
Если перед отправкой вывести в консоль содержимое formData, там будет:
arr = test1
arr = test2
Далее на Бэке все проходит через модель:
arr: [ { type: String, required: true } ]
и все хорошо. Это работает с любым количеством элементов в массиве (и с одним тоже).
Но стоит мне подрубить Joi с параметрами
arr: Joi.array().required(),
и отправить 1 элемент в массиве, Joi начинает ругаться что
validation: {body: {source: "body", keys: ["arr"], message: ""arr" must be an array"}}
, хотя если в массиве 2 или более элементов - он пропускает. В чем может быть косяк?
Попробуйте formData.append("arr[]", arr[i])
Обсуждают сегодня