Задать вопрос
Mesuti
@Mesuti

Как проверить коллекцию input на пустоту?

Один input понятно, как проверить:

if (input === "") {
   alert('Пустой')
} else { 
   alert('Заполненый')
}

А если этих input много?
И нужно, чтобы каждый был заполнен.
А если один не заполнен, выдавать ошибку.

Пробовал перебором:

for (let i = 0; i < inputs.length; i++) {
   if (inputs[i].value === "") {
      alert('Пустой')
   } else {
      alert('Заполненый')
   }
}

Но после первого успешного выдает, что все ок.

Или все-таки придется вставлять чекер типа checkAllInput = true\false? В каком месте тогда будет идти назначение этого чекера?
  • Вопрос задан
  • 323 просмотра
Подписаться 1 Простой Комментировать
Решения вопроса 2
0xD34F
@0xD34F Куратор тега JavaScript
const isEmpty = [...inputs].some(n => !n.value);

// или

const isEmpty = !Array.prototype.every.call(inputs, n => n.value);

// или

let isEmpty = false;
for (const n of inputs) {
  if (!n.value) {
    isEmpty = true;
    break;
  }
}

// или

let isEmpty = false;
for (let i = -1; ++i < inputs.length && !(isEmpty = !inputs[i].value);) ;

// или

const isEmpty = (function isEmpty(i) {
  return i < inputs.length && (!inputs[i].value || isEmpty(-~i));
})(0);
Ответ написан
lastuniverse
@lastuniverse
Всегда вокруг да около IT тем
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы