С Новым годом! Форум программистов, компьютерный форум, киберфорум
JavaScript для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
133 / 118 / 34
Регистрация: 04.04.2018
Сообщений: 593

Переменная, нужна ли проверка

14.11.2018, 21:05. Показов 1093. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте.
Имеется к примеру такой код
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
var first_name = document.getElementById('first_name').value;
var last_name = document.getElementById('last_name').value;
if(!!last_name){
    if(!!first_name){
     $.ajax({
                ...
         });
    }
    else{
        alert('заполните поле Имя');
    }
}
else{
  alert('заполните поле Фамилия');
}
Если я таким образом произвожу проверку, то код перед отправкой обработчику ajax, проверяет на пустоту, тем самым обработчик получит не пустые значения $_POST. Разумеется, в обработчике тоже имеются различные проверки.
Меня собственно что интересует, правильная ли такая реализация?
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
14.11.2018, 21:05
Ответы с готовыми решениями:

Для чего нужна переменная var that = this ?
Прошу привести рабочий пример с использованием var that = this Заранее спасибо.

Проверить, включены ли у пользователя JavaScript и cookies
Здравствуйте. Помогите реализовать такую вещь: если человек заходит на сайт с выключенной настройкой Java Script и Cookies, то его бы...

Нужна ли глобальная переменная
Всем привет. Хочу написать чат. Вопрос такой. Как нужно правильно передавать сообщения между пользователями? Мне пришла идея сделать...

4
392 / 294 / 121
Регистрация: 26.08.2016
Сообщений: 902
14.11.2018, 21:09
Поскольку свойство value строковое, правильнее было бы проверять его lastName !== '', хотя результат тот же
0
133 / 118 / 34
Регистрация: 04.04.2018
Сообщений: 593
14.11.2018, 21:25  [ТС]
renat_dmitriev, поэтому и проверяю !!. Суть вопроса все та же, я правильно ведь думаю, что так и необходимо делать, да бы нагрузка на код php уменьшалась. Повторюсь, в обработчике тоже есть empty intval mysqli_real_escape_string и разные условия. НО, сам запрос обработчику, обработка php кодом, потом отправка снова ajax, обработка почти этим же самым условием (если data такая-то вернулась, то это делать, если нет, то это), что отдал код php, и тем самым делая такую проверку, много действий удается избежать. Это я понимаю, а сама реализация верная? К примеру у меня 10 переменных, то есть мне так же нужно каждую проверять? Я думал массив собрать, потом проверять, но мне нужно выводить сообщение об ошибках... Как тут быть еще не придумал, ведь имена переменных разные, каждое за свое поле.
0
392 / 294 / 121
Регистрация: 26.08.2016
Сообщений: 902
14.11.2018, 21:46
Лучший ответ Сообщение было отмечено u4en1k как решение

Решение

Да, красивей будет считать все инпуты внутри формы с реквизитом required

HTML5
1
2
3
4
5
6
<form>
   <input name="first_name" data-ru="Имя" required>
   <input name="second_name" data-ru="Отчество" required>
   <input name="last_name" data-ru="Фамилия" required>
</form>
<button onclick=check()>Check</button>
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
function check() {
   var errorsList = Array.from(document.forms[0].getElementsByTagName('input'))
       .reduce((errors, el) => {
           if(el.hasAttribute('required') && !el.value) {
               errors.push(el.dataset.ru);   
           }
          return errors
       }, []);
 
   if(errorsList.length) 
      alert('Не заполнены поля: ' + errorsList.join(', '));
}
1
133 / 118 / 34
Регистрация: 04.04.2018
Сообщений: 593
14.11.2018, 22:06  [ТС]
renat_dmitriev, а если я отказался от формы, и input's расположены в div? Тоже самое получается. Понял как нужно, шикарное решение, благодарю. Таким образом, решением, я смогу вообще код сильно оптимизировать
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.11.2018, 22:06
Помогаю со студенческими работами здесь

Проверка является ли переменная числом
Всем привет! Столкнулся с проблемой: Вводится число с клавиатуры, надо проверить что-бы это было четырехзначное число. Примеры : 0000,...

Для чего нужна переменная?
Подскажите, что нам дает переменная f, для чего нужна? #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;time.h&gt; ...

Переменная PATH: зачем она нужна ?
Я понимаю, что эта переменная хранит каталоги с исполняемыми файлами некоторых программ, но зачем это надо?? Зачем в установке некоторых...

Проверка букв из СЛОВА(переменная) на соответствие Буквы
Вот делал программу подсчитывающую кол-во букв в введенном слове, и добавил переменную СТРИНГ (Р) где задал ей все значения знаков...

Просто символьная переменная нужна, чего мудрят MS?
Это же надо домудриться разработчикам &quot;передового&quot; языка... Невозможно просто работать с символом. То что не вопрос в Pascal, Pethon, C,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru