Валидация формы на чистом Javascript

แชร์
ฝัง
  • เผยแพร่เมื่อ 26 ธ.ค. 2024
  • Делаем проверку и отправку формы на Javascript без использования плагинов и библиотек.
    👁‍🗨 Телеграм: t.me/frontend_du2
    👁‍🗨 Discord: / discord
    👁‍🗨 VK: frontend
    👁‍🗨 Дзен: dzen.ru/frontend
    👁‍🗨 Rutube: rutube.ru/u/fr...
    Спасибо за вашу поддержку :)

ความคิดเห็น • 190

  • @Tema_ilit
    @Tema_ilit ปีที่แล้ว +4

    Саша не говори себе делать короткие видео, то что ты записываешь очень понятно и доступно к пониманию, благодаря твоим видео начал на уровень прямо лучше разбираться во всем, много чего уже посмотрел, не останавливайся

    • @alex_dudukalo
      @alex_dudukalo  ปีที่แล้ว +1

      Думаю, ты прав :) Спасибо за это сообщение. Буду делать приоритет на содержании, несмотря на время :) Можно, конечно на угоду ютубу и просмотрам делать видео короче, что бы оно чаще попадало в рекомендации, но кажется - это не лучший путь для самого контента )

    • @Tema_ilit
      @Tema_ilit ปีที่แล้ว +1

      @@alex_dudukalo Привет, решать конечно только тебе, но ведь есть тайм коды, если кто то более прошареный, он может простой перейти на тот момент, который ему нужен, а те, кто менее разбираются в теме будут смотреть до конца, в любом случае записывая длинные видео с подробным объяснением ты удовлетворяешь обе стороны так сказать, у тебя правда талант, может быть не к слову, но я в школе очень плохо понимал математику до 9 класса, ну не получалось и все, вообще никак, позже в 9 классе у нас сменился преподаватель и за тот год, который она меня учила, я сделал огромный скачок в математических знаниях, и даже сдал экзамен на 4 не списывая, и это я все к тому, что ты тот человек, которого хочется слушать и у которого получается донести суть, возможно потому, что ты пишешь видео с минимальными склейками, и что то гуглишь в процессе, возможно потому, что у тебя тоже есть ошибки и ты их не вырезаешь, а показываешь как выглядит написание кода на самом деле, не могу точно, сказать, что именно делает твои видео такими классными. вероятно все вместе взятое, я перечислил лишь малость, моментов, но главное не останавливайся, благодаря твоим видео я даже начал немного любить JS, потому что до этого все было безуспешно и я не понимал как с ним работать, спасибо тебе

    • @alex_dudukalo
      @alex_dudukalo  ปีที่แล้ว +1

      @@Tema_ilit Привет, прочитал сообщение. Да, согласен. Я так же встречал такое в школе и университете. Я убежденно считаю, что учитель (если в слово учитель включить обобщенное понятие) - человек, который может разжечь в ученике желание заниматься изучением темы и предмета. Заинтересовать его так, что бы он сам хотел изучать, капать и находить ответы. Я стремлюсь к этому. Хочу быть именно таким учителем.
      Спасибо тебе за эти слова. Именно такие комментарии ориентируют меня и судя по ним я движусь в верном направлении. По крайней мере надеюсь на это. Я рад, что вы написали это сообщение.

  • @jugadoor
    @jugadoor 2 ปีที่แล้ว +5

    Все отлично, огромное спасибо за видео! Есть только один нюанс (для меня) - это музыка на фоне, посмотрел уже больше 10 видео на канале и те, что без музыки (либо без такой громкой музыки) воспринимались проще)

    • @alex_dudukalo
      @alex_dudukalo  2 ปีที่แล้ว +1

      Спасибо за комментарий. Про фоновую музыку очен важно было получить мнение. Мне хотелось музыкой немного разбавить атмосферу и сделать восприятие более легче. Но видимо это только мешает. Буду что то придумывать или полностью убирать в следующих видео музыку :) спасибо за полезный коммент

    • @jugadoor
      @jugadoor 2 ปีที่แล้ว +1

      Повторюсь, наверное, если ее немного убавить, то она не будет перебивать основные мысли) посмотрим в следующих видео)

  • @НиколайГроза-е9н
    @НиколайГроза-е9н 7 หลายเดือนก่อน +2

    Атрибут defer в JavaScript используется для отложенной загрузки скрипта. Когда вы добавляете атрибут defer к тегу , скрипт будет загружен параллельно с загрузкой HTML-документа, но выполнение скрипта будет отложено до тех пор, пока весь HTML-документ не будет полностью загружен.
    Это означает, что скрипт, помеченный атрибутом defer, не будет блокировать загрузку остальной части страницы. Это особенно полезно, когда у вас есть скрипты, которые необходимо загрузить до того, как страница будет полностью интерактивной, но они не влияют на начальную загрузку контента или отображение страницы.

  • @makeuppolina
    @makeuppolina ปีที่แล้ว +2

    Спасибо большое за такое полезное видео! Вы, как всегда, все четко и понятно объяснили и разложили по полочкам👍👍👍Мне очень нравится ваша манера подачи материал - легкая и непринужденная (еще и с юмором))). Ваши видео помогают в обучении👍

    • @alex_dudukalo
      @alex_dudukalo  ปีที่แล้ว

      Большое вам спасибо ) Безумно приятно читать такие отзывы ) Ваши комментарии вдохновляют на записи новых видео :)

  • @HAVALSKI
    @HAVALSKI 2 ปีที่แล้ว +3

    Отличное объяснение) по-моему даже проще, чем библиотекой пользоваться

    • @alex_dudukalo
      @alex_dudukalo  2 ปีที่แล้ว +1

      Да да, раньше это было сделать сложнее. Приходилось писать код. Следить за прокруткой страницы. Делать вычисления. Это свойство все упростило ))

  • @АлексейЛызлов-е1щ
    @АлексейЛызлов-е1щ ปีที่แล้ว +2

    Очень долго искал пытался решить проблему с отправкой формы после валидации, в этом ролике я нашел кк можно решить мою проблему. Спасибо Вам большое за подробное и понятное видео ! Успехов Вашему каналу

    • @alex_dudukalo
      @alex_dudukalo  ปีที่แล้ว

      Спасибо вам за сообщение с мнением. Я рад, что у вас получилось найти решение проблемы в этом видео :) Старался максимально больше вложить информации в ролик ) Спасибо вам

  • @followmagnus9775
    @followmagnus9775 9 หลายเดือนก่อน +2

    Отличное обучающее видео, долго сидел сам мучился как написать валидацию, посмотрел видео и разобрался. Спасибо большое!

  • @valentine1408sensor
    @valentine1408sensor 3 หลายเดือนก่อน +1

    красава, с твоих слов все становится понятно с первого раза, не то что в моей онлайн школе, по 10 раз смотришь курс и в итоге взгляд на домашку как у барана на новые ворота. Щас запилю код и моя прога взлетит, наконец-то

  • @vladlesun3811
    @vladlesun3811 ปีที่แล้ว +1

    Александр, вы как всегда, четко, быстро, интересно и понятно, спасибо большое 🫡

    • @alex_dudukalo
      @alex_dudukalo  ปีที่แล้ว

      Большое спасибо за ваш комментарий :) Очень приятно. Не смог оперативно ответить на комментарий :(

  • @ЮляСолнце-ь2у
    @ЮляСолнце-ь2у ปีที่แล้ว +2

    Смотрю в 105й раз!!! Повторение - мать Учения😀😀😀Спасибо!!!

    • @alex_dudukalo
      @alex_dudukalo  ปีที่แล้ว

      Спасибо за такой комментарий🙈 это очень вдохновляет и мотивирует на новые видео 🤗

  • @ЮляСолнце-ь2у
    @ЮляСолнце-ь2у ปีที่แล้ว +3

    Александр, вот и добралась до валидации формы!! Лайк и сердечко, как всегда, вашим видео!❤

    • @alex_dudukalo
      @alex_dudukalo  ปีที่แล้ว +1

      Спасибо, что оценили ролик и поддержали меня :) Будем работать и стараться)

  • @JennyAirAround
    @JennyAirAround ปีที่แล้ว

    Александр, спасибо большое!! Буквально, недавно, настроение учебное пошло на спад, вдохновения нет, и тут Ваше видео с материалом, который только изучила и забыла (как это обычно происходит), начала смотреть и не смогла оторваться, видео больше 30 мин, но зашло, как мороженое. Там и другие Ваши произведения были просмотрены. Это очень здорово! Особенная благодарность за Вашу открытость - не бояться косяков и ошибок, за самопроверку, хоть наглядно показали куда "тыкать" (как начинающий, позволяю себе это слово). После просмотра ваших уроков по ранее усвоенному материалу - всё встает на свои места. Начинающим - обязательно к просмотру.

    • @alex_dudukalo
      @alex_dudukalo  ปีที่แล้ว

      Спасибо за ваш приятнейший комментарий. Я читаю и улыбаюсь от того, как я рад, что могу помочь роликами)) Значит работаю не зря) Спасибо вам еще раз

  • @EvgeniaDark
    @EvgeniaDark ปีที่แล้ว +2

    Огромное спасибо за обучающий материал, легко воспринимается, очень полезное видео! :)

    • @alex_dudukalo
      @alex_dudukalo  ปีที่แล้ว

      Спасибо вам ) Рад, что ролики для вас полезны. Бубу стараться

  • @molniagrom3599
    @molniagrom3599 7 หลายเดือนก่อน +1

    Всё очень доступно👍
    На будущее, как частый зритель таких видео, говорю что очень удобно использовать тайм-коды, а не искать если что-то нужно конкретное перематывая всё видео...

  • @artyaexe
    @artyaexe 2 ปีที่แล้ว +2

    Попрошу скиллбокс , чтобы тебя сделали моим куратором 😂👍🏽 спасибо за инфу )

    • @alex_dudukalo
      @alex_dudukalo  2 ปีที่แล้ว

      Да, конечно. Буду рад с вами поработать на курсе :)

  • @Tilda_Practice
    @Tilda_Practice 2 ปีที่แล้ว +1

    Спасибо !!! было бы классно если бы вы записали видео еще и про это : При потере фокуса (событие blur, происходит, когда пользователь убрал выделение с поля для ввода) должна происходить проверка на корректность введённого значения и замена его на корректное при необходимости по следующим правилам:
    Из строки значения должны удаляться все символы, кроме допустимых.
    Пробелы и дефисы в начале и конце значения должны удаляться.
    Несколько идущих подряд пробелов или дефисов должны заменяться на один.
    Первая буква должна приводиться к верхнему регистру, а все остальные - к нижнему.
    Отправка формы должна добавлять абзац с введёнными фамилией, именем и отчеством под форму без перезагрузки страницы. Каждая отправка формы добавляет новый абзац на страницу. После отправки поля на форме должны очищаться.

    • @alex_dudukalo
      @alex_dudukalo  2 ปีที่แล้ว

      Спасибо вам за отклик. Да, кажется это те проверки, которые указаны в задании 1 продвинутого уровня по JS. В этом ролике хотел показать базовый способ валидации. С продвинутым (который показали вы) дела интереснее. Думаю, что можно в будущем записать такой ролик :) Спасибо вам и с наступившим Новым Годом :)

  • @lemexaxa
    @lemexaxa 2 ปีที่แล้ว +1

    Очень доступно объясняете. Спасибо)))

    • @alex_dudukalo
      @alex_dudukalo  2 ปีที่แล้ว

      Сергей, спасибо за комментарий. Очень приятно, что вы смотрите ролики. :) Возможно информация пригодится где то )

  • @vzrosly_muzik
    @vzrosly_muzik ปีที่แล้ว +1

    Не часто я оставляю комментарии, но тебе оставлю, спасибо за видео, тебя очень приятно смотреть!

    • @alex_dudukalo
      @alex_dudukalo  ปีที่แล้ว

      Спасибо вам за комментарий и, за то что решили помочь. Отклики реально помогают и я вижу это в статистике. Буду стараться еще лучше))

  • @typhoonx04
    @typhoonx04 2 ปีที่แล้ว +1

    Хорошая тема, спасибо Александр!

    • @alex_dudukalo
      @alex_dudukalo  2 ปีที่แล้ว

      Давно планировал записать видео про валидацию. Уверен, что она понадобится в многих проектах :)

  • @ОльгаПаукова-щ6о
    @ОльгаПаукова-щ6о ปีที่แล้ว +1

    Александр, спасибо за понятное видео! Data - атрибуты очень интересная тема, было бы здорово посмотреть

    • @alex_dudukalo
      @alex_dudukalo  ปีที่แล้ว

      Здравствуйте, Ольга. Спасибо за ваш комментарий. Да-да, уже такой ролик есть. Если будет время и желание, обязательно посмотрите :) th-cam.com/video/l52vbSPGUrg/w-d-xo.html

  • @syuzannanasukhova5777
    @syuzannanasukhova5777 ปีที่แล้ว

    Ставлю лайк и подписываюсь!)
    Очень классно рассказываешь, делая акценты на важных моментах!)

  • @Vt_Shabanoff
    @Vt_Shabanoff ปีที่แล้ว +1

    Александр, спасибо огромное за такие классные видосы. Круто если б еще валидацию формы даты можно было бы рассмотреть.

    • @alex_dudukalo
      @alex_dudukalo  ปีที่แล้ว

      Спасибо вам :) Записал ваше предложение себе в список роликов для записи. Такое видео в плане :) Спасибо

  • @КатюшаИдеальная
    @КатюшаИдеальная 11 หลายเดือนก่อน

    Александр, большое спасибо за подробное видео!!! Спасибо, что понятным языком все объясняете! Вы даете надежду, что все возможно)))

  • @yuriydoychev5857
    @yuriydoychev5857 8 หลายเดือนก่อน +2

    Спасибо за это видео. Хорошо объясняете. Заходит.

    • @alex_dudukalo
      @alex_dudukalo  8 หลายเดือนก่อน +1

      Спасибо за ваш комментарий :) Я очень рад, что видео нравится)) Старался

  • @dezmos6389
    @dezmos6389 2 ปีที่แล้ว +1

    Отличное видео! Насчет фоновой музыки полностью согласен с предыдущим автором ;)

    • @alex_dudukalo
      @alex_dudukalo  2 ปีที่แล้ว

      Спасибо за комментарий и поддержку. Про музыку мне было важно узнать. Буду исправлять и учитывать это :) Спасибо

  • @risenshine1349
    @risenshine1349 2 ปีที่แล้ว +1

    спасибо большое за такие полезные видео! лайк и коммент для продвижения и улыбки))

    • @alex_dudukalo
      @alex_dudukalo  2 ปีที่แล้ว

      Это вам большое спасибо :) Улыбка точно есть. Надеюсь и продвижение будет. Хорошего вечера :)

  • @khumoyunrakhimov8909
    @khumoyunrakhimov8909 ปีที่แล้ว +2

    Давно искал видео где validaiton делается чисто на Javascript. Наконец-то нашёл ). Всё объяснено чётко и понятно. Уважение к тебе и продолжай в том же духе. Обязательно подписка, лайк и комментарий. Одна просьба, можешь делать видео где делается validation на определённый input.value который проверяет на уникальность среди данных в базе данных(mysql). Заранее спасибо.

    • @alex_dudukalo
      @alex_dudukalo  ปีที่แล้ว +1

      Большое спасибо за ваш комментарий и поддержку в виде подписки и комментария. Да, понимаю вас. Сам когда то искал такие примеры. У меня как раз запланирован такой материал для записи. Думаю скоро сделаю ролик с валидацией пароля или логина (связка с сервером) это интересный пример :)

    • @khumoyunrakhimov8909
      @khumoyunrakhimov8909 ปีที่แล้ว

      @@alex_dudukalo да очень интересный и нужный материал будет, буду ждать )

  • @myaushenka
    @myaushenka ปีที่แล้ว

    Спасибо! Мне очень помогло это видео, так как понадобилось сделать фронтенд часть, а я в ней плохо разбираюсь. Подпишусь в поддержку вашего канала)

  • @ОлесяКомарова-ф6ц
    @ОлесяКомарова-ф6ц 2 ปีที่แล้ว +1

    Алесандр, спасибо за видео! Все круто и понятно, писала как всегда с вами! Были в процессе вопросы, но вы потом на все отвечали, единственное не совсем поняла это работа с методом contains() - при создании функции для очистки ошибок при повторной валидации.

    • @alex_dudukalo
      @alex_dudukalo  2 ปีที่แล้ว

      Спасибо за ваш комментарий и поддержку. Очень приятно, что видео было для вас полезным. Тут дело в следующем. При повторной запуске проверки валидации нам нужно удалить старые сообщения об ошибках. Если они там есть, то проблем не будет. Но если ошибки у поля не было и мы пытаемся ее удалить, то у нас появится ошибка, что элемент не существут. Поэтому мы проверяем наличие класса ошибки. contains возвращает true, если у элемента есть указанный класс. Если он есть, значить можно смело делать удаление :)

  • @ssswi_feast
    @ssswi_feast 6 หลายเดือนก่อน +1

    Поизучаю твои видео обязательно. Вроде у же так и верстаю с пол года. А все равно на мелочах то с бургером сыплюсь то еще с чем нибудь! Респект тебе снимай побольше таких видосов!!

    • @alex_dudukalo
      @alex_dudukalo  6 หลายเดือนก่อน

      Очень приятно получать такие комментарии 😇 спасибо

  • @mambetaa3486
    @mambetaa3486 ปีที่แล้ว +1

    Спасибо Александр!

    • @alex_dudukalo
      @alex_dudukalo  ปีที่แล้ว +1

      Спасибо вам за вашу поддержку :)

  • @megabulk
    @megabulk 2 ปีที่แล้ว +1

    Ещё раз поразился отсутствию склеек (кроем той что в начале) и одновременно четкости речи и объяснения!

    • @alex_dudukalo
      @alex_dudukalo  2 ปีที่แล้ว

      Да, это видео получилось сделать целым без склейки. Но это не лучшая практика ) Много лишнего ):

  • @nikitachuzhaykin
    @nikitachuzhaykin ปีที่แล้ว +2

    500 лайк мой) Спасибо за видео!

    • @alex_dudukalo
      @alex_dudukalo  ปีที่แล้ว

      Спасибо, очень приятно ))

  • @СтаниславГорячев-г1ъ
    @СтаниславГорячев-г1ъ 2 ปีที่แล้ว +1

    Спасибо, супер полезно, ждем новый контент 👍

    • @alex_dudukalo
      @alex_dudukalo  2 ปีที่แล้ว

      Спасибо за отклик. Такие комментарии мотивируют на работу )

  • @Elena.S.
    @Elena.S. 2 ปีที่แล้ว +1

    Алесандр, спасибо за видео!

    • @alex_dudukalo
      @alex_dudukalo  2 ปีที่แล้ว

      Спасибо вам за вашу поддержку :)

  • @elenaizmaylova9331
    @elenaizmaylova9331 ปีที่แล้ว

    Александр, вы просто супер! Видео очень полезное и вы очень приятный человек) Спасибо за ваш труд!)

    • @alex_dudukalo
      @alex_dudukalo  ปีที่แล้ว +1

      Спасибо большое за ваш комментарий и такие приятные слова ☺ ваша поддержка вдохновляет на новые видео 🔥

  • @Tosha.V
    @Tosha.V ปีที่แล้ว

    Подача материала и картинка понравились - продолжай в том же духе! Как вариант новые темы - телефонный справочник, веб форма с валидацией и отправкой к примеру в Google Sheets (аналог Google Форм) думаю многим было бы интересно)

    • @alex_dudukalo
      @alex_dudukalo  ปีที่แล้ว +1

      Большое спасибо за поддержку и комментарий. Кстати, на счет справочника отличная идея :) Добавляю себе в список записи видео ))

  • @baileysli6235
    @baileysli6235 2 ปีที่แล้ว +1

    Советую ознакомиться с validity у элементов форм. Многие проверки браузер уже делает из коробки

    • @alex_dudukalo
      @alex_dudukalo  2 ปีที่แล้ว

      Да, тоже способ. Но часто в практике есть необходимость сделать свою валидацию с уникальными правилами проверок полей )

  • @ДаниилКаруев
    @ДаниилКаруев 2 ปีที่แล้ว +1

    Было бы отлично, чтобы вы записали видео по data-атрибутам)

    • @alex_dudukalo
      @alex_dudukalo  2 ปีที่แล้ว

      Уже есть, сегодня выложил. Благодаря вашей рекомендации записал :) th-cam.com/video/l52vbSPGUrg/w-d-xo.html

  • @justfisher2920
    @justfisher2920 ปีที่แล้ว +2

    Атрибут defer запускает скрипт асинхронно, его можно разместить где угодно, хоть выше хоть ниже

    • @alex_dudukalo
      @alex_dudukalo  ปีที่แล้ว

      Согласен с вами😇

  • @sergmalin210
    @sergmalin210 ปีที่แล้ว +1

    Спасибо, молодец, было очень полезно для меня и понятно

    • @alex_dudukalo
      @alex_dudukalo  ปีที่แล้ว

      Спасибо за ваш комментарий🤗

  • @Mozobretenie
    @Mozobretenie 2 หลายเดือนก่อน

    Прям то что нужно, спасибо за видос

  • @enterkvas
    @enterkvas ปีที่แล้ว +1

    Здравствуйте, Александр! Огромное спасибо за контент! Я не силен пока в js. Я тут поработал над index.js в плане dry. Получилось как-то так. Здесь вставляю только кусок, который я переработал, начиная с:
    for(const input of allInputs){
    по:
    }
    return result
    }
    невключительно:
    if(input.minLength || input.maxLength){
    removeError(input)
    if(input.value == ''){
    createError(input, 'The field is not filled')
    result = false
    } else if(input.value.length < input.dataset.minLength){
    createError(input, `The minimum number of characters: ${input.dataset.minLength}`)
    result = false
    } else if(input.value.length > input.dataset.maxLength){
    createError(input, `The maximum number of characters: ${input.dataset.maxLength}`)
    result = false
    } else if(input.dataset.required){
    result = false
    }
    }
    Проверял, вроде как работает. Но, возможно, есть какие-либо неточности, или "подводные камни"? Или, если работает, то нормально?

    • @alex_dudukalo
      @alex_dudukalo  ปีที่แล้ว +1

      Здравствуйте, Александр. Спасибо вам за такой приятный комментарий. Я рад, что видео было для вас полезным :) Кажется, что в коде все хорошо. Единственное, я бы предложил использовать тройное === вместо двойного :) И в этой строчке не хватает кавычки if(input.value == ''){

    • @enterkvas
      @enterkvas ปีที่แล้ว

      Большое спасибо вам, Александр, за код ревью! Хороший для меня урок по внимательному отношению к делу. Читаю сейчас "Идеальный программист" Роберта Мартина. Сразу вспоминается понятие "профессионализм". Еще раз большое спасибо вам, Александр! Успехов! P.S. ксатати, хорошая тема найти по различию между разными операторами "=", "==" и "===".@@alex_dudukalo

    • @enterkvas
      @enterkvas ปีที่แล้ว

      Александр, приветствую! Я много посвятил сегодня времени (незапланированного) изучению операторов "=", "==" и "===" (в основном по книге "Java Script подробное руководство" 5-е издание. Автор: Дэвид Флэнаган и по некоторым другим источникам). Конечно, я не смог сразу разобраться во ВСЕХ тонкостях этих операторов. Но, продолжая работу со скриптом вашего текущего ролика, хотелось бы услышать, хотя бы очень коротко, обоснование вашей рекомендации в if(input.value == ''){ ... в условии писать "===" а не "==". @@alex_dudukalo

  • @НаталияЗахаренко-е8н
    @НаталияЗахаренко-е8н 2 ปีที่แล้ว +1

    Спасибо за видео! Лайк, подписка, комментарий)

    • @alex_dudukalo
      @alex_dudukalo  2 ปีที่แล้ว

      Спасибо за ваш комментарий и поддержку. С наступающим новым годом :)

  • @13101997a1
    @13101997a1 7 หลายเดือนก่อน

    Лучший видеоурок про валидацию формы. Спасибо
    Про тайм коды писали ниже, подумайте. Действительно будет полезно)

    • @alex_dudukalo
      @alex_dudukalo  7 หลายเดือนก่อน

      Большое спасибо, очень приятно читать такие комментарии. Это очень мотивирует 😇

  • @i5anin
    @i5anin 2 ปีที่แล้ว +1

    Как выполнить 2?
    1. все поля обязательны для заполнения после применения к значению метода trim()
    2. дата рождения находится в диапазоне от 01.01.1900 до текущей даты
    3. год начала обучения находится в диапазоне от 2000-го до текущего года

    • @alex_dudukalo
      @alex_dudukalo  2 ปีที่แล้ว

      Тут нужно добавить новые условия проверки ), как например с maxLength. Кажется у же отвечал на платформе вам? или я ошибаюсь ? :)

  • @ssr.1989
    @ssr.1989 ปีที่แล้ว

    Спасибо большое, Александр! Для диплома хочу применить без подключения сторонних библиотек.

    • @alex_dudukalo
      @alex_dudukalo  ปีที่แล้ว

      Спасибо за ваш комментарий🤗 желаю удачи на защите диплома 🍀

  • @timkri0
    @timkri0 2 ปีที่แล้ว +1

    Спасибо за видео !

    • @alex_dudukalo
      @alex_dudukalo  2 ปีที่แล้ว

      Спасибо за вашу поддержку )

  • @Vt_Shabanoff
    @Vt_Shabanoff ปีที่แล้ว +2

    Александр, хотелось бы от Вас видео про часть валидации такой как маска под номер телефона, очень популярная тема сейчас

  • @МихаилГорбунов-и4е
    @МихаилГорбунов-и4е 7 หลายเดือนก่อน

    Александр! Я прям увлекся вашим видеоуроками, не пропускаю ни одного. Ссылки на адреса ваших роликов коллекционирую и храню в своем электронном конспекте, как большую ценность в копилке знаний по js. Спасибо огромное за ваш неоценимый вклад в развитие, ни сколько не преувеличивая, в развитие IT-технологий в стране!
    С уважением, Михаил!

  • @СергейМурин-ь8х
    @СергейМурин-ь8х ปีที่แล้ว +2

    Мне понравилось)) лайк лайк

    • @alex_dudukalo
      @alex_dudukalo  ปีที่แล้ว

      Спасибо вам за поддержку лайком :)

  • @andreyfedyukin8360
    @andreyfedyukin8360 2 ปีที่แล้ว +1

    Спасибо 👍

  • @НикитаСмирнов-ъ2п
    @НикитаСмирнов-ъ2п ปีที่แล้ว

    Спасибо большое Вам за видео полезное, очень интересно!👍👍👍

    • @alex_dudukalo
      @alex_dudukalo  ปีที่แล้ว

      Большое спасибо вам :)

  • @escobar929
    @escobar929 9 หลายเดือนก่อน

    просто красава!!спасибо мужик!!! можно, пожалуйста еще практического приминения js!!

  • @bikadV
    @bikadV 10 หลายเดือนก่อน +1

    Зачем в if(validation(this)) добавлять "== true" если if и так возвращает только true/false на любое условие в скобках?

  • @relaxdeepsleepmusic3608
    @relaxdeepsleepmusic3608 ปีที่แล้ว

    Классное видео, очень помогло, спасибо.

  • @szyrwel
    @szyrwel 2 ปีที่แล้ว +1

    Лайк, подписка, комментарий - всё как и просил)

    • @alex_dudukalo
      @alex_dudukalo  2 ปีที่แล้ว

      Спасибо за вашу поддержку :) Мне это очень помогает :)

  • @tipOdessa
    @tipOdessa ปีที่แล้ว +1

    Здравствуйте! Очень круто! Но я бы еще метод trim() впихнул, он удалит все пробелы

    • @alex_dudukalo
      @alex_dudukalo  ปีที่แล้ว +2

      Да да, этот метод бы помог убрать лишние пробелы ) Не пришло в голову во время записи видео :) Спасибо

  • @webdmitriev
    @webdmitriev 2 ปีที่แล้ว +1

    Спасибо, с номером телефона бы ещё посмотреть)

    • @alex_dudukalo
      @alex_dudukalo  2 ปีที่แล้ว +1

      С телефоном чуть сложнее. Обычно валидацию с номером телефона делают с маской. Тут придется подключать библиотеку дополнительную, что не очень хочется делать ) Но, как идея для реализации видео хорошая

  • @Aelita042
    @Aelita042 6 หลายเดือนก่อน

    Ахах, так смешно про лайки и комментарии сказали)) лайк и коммент ❤

  • @yurckov
    @yurckov 10 หลายเดือนก่อน +1

    Привет. У меня страница примерно такая же но еще есть checkbox на согласие снизу. Весь интернет облазил и никак не могу найти как сделать еще и для чек бокса на ванильном js. Буду признателен за помощь

  • @tigrext20
    @tigrext20 ปีที่แล้ว +1

    Вопрос возник. Лучше использовать цикл for of или for each? Что выполняется быстрее или нет разницы?

    • @alex_dudukalo
      @alex_dudukalo  ปีที่แล้ว

      Если вы работаете с массивом DOM элементов, например использую функцию querySelectorAll, то думаю удобнее сразу использовать forEach? Этот даст возможность делать такие приемы. document.querySelectorAll('*').forEach(el=>{console.log(el);})
      В других случаях, если счетчик не нужен, удобно использовать for of

  • @azerqgaming
    @azerqgaming ปีที่แล้ว +2

    Александр, спасибо за видео, я сам backend c# разработчик, работаю много с БД, и всякими околосистемными штуками, но паралельно интересуюсь и фронтендом, очень понравился фреймворк React.js + Typescript, но и vanilla js тоже норм, для своих задач, как относитесь к нему и подобным фреймворкам (vue, angular, etc...) ?

    • @alex_dudukalo
      @alex_dudukalo  ปีที่แล้ว +2

      Здравствуйте, Антон. Спасибо за ваш комментарий и интересный вопрос. Фреймворки, коими являются Vue, React и другие - это крутые инструмент, которые сильно упрощают разработку веб-приложений (особенно больших) Сильно упрощают и оптимизируют. Отношусь к ним очень положительно, но всегда помню о том, что фреймворк для JS работает на Javascript и для того, что бы их эффективно использовать, нужно знать хорошо JS. Поэтому всегда рекомендую начать изучат фронтент с JS. Вы уже знаете языки программирования, поэтому вам будет проще ))

    • @azerqgaming
      @azerqgaming ปีที่แล้ว +1

      @@alex_dudukalo спасибо за ответ, я уже в принципе сейчас знаю JS, на базовом уровне, начал разбираться с вёрсткой на flexbox и Grid, пробовал tailwind и Material UI, мне прям доставляет некоторое удовольствие видеть одну систему с разных сторон, как со стороны UI, так и со стороны внутренностей сервисов, API, хранилища, модулей система, да даже некоторые задачи DevOps интересны, так что программирование это одновременно увлечение и работа, радует для себя открывать что-то новое)

  • @дианахадиева
    @дианахадиева ปีที่แล้ว

    Здравствуйте. А может возникнуть конфликт, если изначально в input поставили value, я имею ввиду в HTML?

  • @LoveSkill_69
    @LoveSkill_69 ปีที่แล้ว

    И почему, например, если у меня форма в модальном окне, я не могу после preventDefault() закрыть её никаким способом?

  • @Sanychish
    @Sanychish ปีที่แล้ว +1

    Спасибо!

  • @ДианкаРоманова-к8о
    @ДианкаРоманова-к8о ปีที่แล้ว

    отличное видео! спасибо :)

    • @alex_dudukalo
      @alex_dudukalo  ปีที่แล้ว

      Спасибо за ваш комментарий 😊

  • @LoveSkill_69
    @LoveSkill_69 ปีที่แล้ว

    Очень полезный материал! А как сделать так чтобы валидация была сразу на нескольких формах (они одинаковые). У меня ошибка возникает на этапе, где в функции валидации выводится в консоль сам элемент form. 7:18

  • @arseniyklimovich8409
    @arseniyklimovich8409 ปีที่แล้ว

    Спасибо, брат, очень помог

    • @alex_dudukalo
      @alex_dudukalo  ปีที่แล้ว

      Спасибо за отзыв 💪

  • @АнтонОРТЗИ
    @АнтонОРТЗИ ปีที่แล้ว

    Добрый вечер! Подскажите, а можно зашифровать данные при отправке на почту?

  • @НикитаСмирнов-ъ2п
    @НикитаСмирнов-ъ2п ปีที่แล้ว

    Спасибо большое!

  • @Alex__88
    @Alex__88 9 หลายเดือนก่อน

    Полезное видео. Спасибо.

  • @ВячеславН-ю5я
    @ВячеславН-ю5я ปีที่แล้ว +1

    Спасибо, хорошо объяснил)) 👍 Подскажи как сделать подсветку слов в вс коде как у тебя ?)) Чтоб querySelector жёлтым, form оранжевым и тд)

    • @alex_dudukalo
      @alex_dudukalo  ปีที่แล้ว

      Спасибо за ваш комментарий. Вы можете в настройках текущей темы выбрать тему Monokai и тогда у вас будет такое же оформление :)

    • @ВячеславН-ю5я
      @ВячеславН-ю5я ปีที่แล้ว

      @@alex_dudukalo спасибо)

    • @ВячеславН-ю5я
      @ВячеславН-ю5я ปีที่แล้ว

      @@alex_dudukalo спасибо)

  • @alexandrway3450
    @alexandrway3450 ปีที่แล้ว +1

    Не понимаю как сделать надпись "Поле не заполнено" над полем ввода, а не под полем.

    • @alex_dudukalo
      @alex_dudukalo  ปีที่แล้ว

      Попробуйте использовать prepend вместо append Это поможет добавить текст ошибки перед инпутом)

  • @Безымянный-х4з
    @Безымянный-х4з ปีที่แล้ว +2

    Классное объяснение! Но по-английски неправильно пишите) 0)

    • @alex_dudukalo
      @alex_dudukalo  ปีที่แล้ว +1

      Спасибо вам за комментарий ) да, есть у меня такая проблема )) борюсь с ней

  • @mambetaa3486
    @mambetaa3486 ปีที่แล้ว +1

    Александр, у меня вопрос. Стоит ли учить jquery в 2023 году?

    • @khumoyunrakhimov8909
      @khumoyunrakhimov8909 ปีที่แล้ว +1

      Я бы сказал 100% надо, так как этот framework облегчит твою работу если ты учишься и хочешь работать на веб-разработку, там много встроенных функций который помогает писать меньше код.

    • @alex_dudukalo
      @alex_dudukalo  ปีที่แล้ว +1

      Ответ: и да и нет ) Для общего понимания и понимания кода, который написан на jquery можно почитать документацию. В сети оч много примеров и готовых решений на jquery. Но в целом сегодня можно работать и без него. Я для себя отказался от него :) А там, как кому удобно.

    • @mambetaa3486
      @mambetaa3486 ปีที่แล้ว

      @@alex_dudukalo Спасибо!

  • @ssswi_feast
    @ssswi_feast 6 หลายเดือนก่อน +1

    Красава спасибо! Всегда с етой валидацией проблема.То Pristine подключу запутаюсь..То еще что нибудь. Твое видео малость поставило на свои места.Мы можем и усложнять ведь код внося поправки на маски или рег.выражения??

    • @alex_dudukalo
      @alex_dudukalo  6 หลายเดือนก่อน

      Рад, что видео было для вас полезным. Да, конечно. Вы можете дополнять код и делать его лучше :)

  • @nocomments5529
    @nocomments5529 9 หลายเดือนก่อน

    Хорошие у вас уроки, смотрел несколько, интересно. Делал валидацию с помощью ивент focus/blur, код получается меньше.

  • @АнтонПетухов-в7ь
    @АнтонПетухов-в7ь 11 หลายเดือนก่อน

    Если коротко, это очень круто и понятно, спасибо!

    • @alex_dudukalo
      @alex_dudukalo  11 หลายเดือนก่อน

      Спасибо за обратную связь 🤗

  • @92daa74
    @92daa74 4 หลายเดือนก่อน

    😢а как же атрибут инпута required? Он с коробки упрощает валидацию. А уже нa стороне сервера php проверяет на пустую строку на спецсимволы

    • @Mozobretenie
      @Mozobretenie 2 หลายเดือนก่อน

      Не всегда требует этого задача, например мне не нужно браузерное сообщение об ошибке, а я хочу сделать кастомное окно, тогда required не подходит, да и мне нужно сразу же проверить на стороне клиента

  • @mambetaa3486
    @mambetaa3486 ปีที่แล้ว

    А можно как-то реализовать, что при удалении или добавлении символов, он автоматический проверял валидацию? ( без нажатии кнопки или энтера ).

    • @mambetaa3486
      @mambetaa3486 ปีที่แล้ว

      еще при вводе пробела или пробелов валидация считает за строку. Я попробовал добавить условие (input.value =='' || input.value == ' ') в required , но это работает только на одном пробеле. Как можно это исправить? Спасибо)

    • @diyourka2221
      @diyourka2221 ปีที่แล้ว

      Прописываешь на событии изменения значения инпута чтобы проверял, но лучше будет проверять значения всех инпутов кроме того что у нажатого поля, а то как-то необоснованно нагруженно получится. А насчёт пробелов, в js наверное придётся брать стрингу в виде массива и проверять на наличие символов. Можно наверное как-то получше, но это то что мне в голову пришло.

  • @wowgood204
    @wowgood204 ปีที่แล้ว +1

    Приветствую , отвечаю на вопрос , не строгое равенство (==) , строгое равенство (===).

    • @alex_dudukalo
      @alex_dudukalo  ปีที่แล้ว

      Здравствуйте, совершенно верно === сравнивает с учетом типа переменной )

  • @easycad6998
    @easycad6998 ปีที่แล้ว +1

    зачем устаревший способ взятие элементов document.getElementById если есть document.querySelector

    • @alex_dudukalo
      @alex_dudukalo  ปีที่แล้ว

      Подскажите, почему getElementById устаревший ? :)

    • @18_cm
      @18_cm ปีที่แล้ว

      поиск элемента по id быстрее проходит.

    • @ZhukAcademy
      @ZhukAcademy ปีที่แล้ว

      @@alex_dudukalo Корректніше писати не модно в 2к23 писати getElementById ;D

    • @Ilm1n
      @Ilm1n 9 วันที่ผ่านมา

      А для форм не удобнее будет использовать document.forms.
      ?

  • @АнтонОРТЗИ
    @АнтонОРТЗИ 11 หลายเดือนก่อน

    Спасибо за видео.

    • @alex_dudukalo
      @alex_dudukalo  11 หลายเดือนก่อน

      Спасибо за ваш комментарий 🤗

  • @andreyryzhykov9713
    @andreyryzhykov9713 2 ปีที่แล้ว

    братик лайкнул подписался

    • @alex_dudukalo
      @alex_dudukalo  2 ปีที่แล้ว

      Спасибо за лайк и поддержку :) Это супер приятно и помогает каналу ):

  • @ЭрженаСыде
    @ЭрженаСыде ปีที่แล้ว

    Классно!

    • @alex_dudukalo
      @alex_dudukalo  ปีที่แล้ว

      Спасибо 🔥 надеюсь и другие видео канала будут вам полезны))

  • @brokert3163
    @brokert3163 6 หลายเดือนก่อน

    Работет с мобильного браузера?

  • @web-impuls
    @web-impuls 2 ปีที่แล้ว +1

    так у тебя и так подключение скрипта после элементов HTML идёт))) Нет никакого смысла в defer в этой ситуации, а вот если бы скрипты были бы в head подключены, то смысл бы имело)))

    • @alex_dudukalo
      @alex_dudukalo  2 ปีที่แล้ว

      Спасибо за замечание. По опыту скажу, что лучше добавлять на всякий случай. Иногда подключение JS файла каким то образом может оказаться в head :)

  • @ЛицейТехнический-ю2б
    @ЛицейТехнический-ю2б 11 หลายเดือนก่อน

    Добрый день. На строчке const allInputs = form.qwerySellectorAll('input') выдаёт ошибку: Uncaught TypeError: form.qwerySellectorAll is not a function. Про ошибку прочёл, но не пойму почему она возникает здесь.....

    • @alex_dudukalo
      @alex_dudukalo  11 หลายเดือนก่อน

      Здравствуйте, скорее всего в переменной form нет формы. Попробуйте вывести form в консоль. Я думаю там ее нет :)

    • @ИльдарМухаметов-ц4х
      @ИльдарМухаметов-ц4х 10 หลายเดือนก่อน

      У вас опечатка, не qwery, а query

    • @--ag1ro--6052
      @--ag1ro--6052 9 หลายเดือนก่อน

      @@ИльдарМухаметов-ц4х 🤣🤣🤣

  • @ДарьяЧелюбеева-з1и
    @ДарьяЧелюбеева-з1и ปีที่แล้ว +1

    Дико раздражает тихая музыка на фоне. Мешает сосредоточиться. Без музыкального сопровождения лучше

    • @alex_dudukalo
      @alex_dudukalo  ปีที่แล้ว

      Да, получил много отзывов по этой теме :) Теперь, стараюсь не злоупотреблять фоновой музыкой. Спасибо за замечание :)

  • @diggerdog001
    @diggerdog001 ปีที่แล้ว +1

    У меня вопрос к тем кто работает фронтом. Кто нибудь щас с нуля без библиотек вообще пишет валидацию?

    • @alex_dudukalo
      @alex_dudukalo  ปีที่แล้ว

      Да, иногда бывают такие случае, когда нужно настроить уникальную валидацию под проект. Например, когда элементы ввода не находятся в одной общей форме. :)

  • @HamOfficiaI
    @HamOfficiaI 3 วันที่ผ่านมา

    Вместо этого можно написать в инпуте required и все)

  • @PavelChupryna
    @PavelChupryna 3 หลายเดือนก่อน

    оставляю комментарий

  • @i5anin
    @i5anin 2 ปีที่แล้ว +2

    Не говори таких слов: я не помню, я не знаю, я забыл - эти слова сокращают твою аудиторию

    • @i5anin
      @i5anin 2 ปีที่แล้ว +2

      Не извиняйся за длинные видео

    • @alex_dudukalo
      @alex_dudukalo  2 ปีที่แล้ว +4

      При создании канала я думал над тем, чем канал и видео будут отличаться от других. И мне кажется, что простота изложения и демонстрация того, что каждый может ошибаться очень поможет и даст уверенность начинающему разработчику. Спасибо за рекомендацию ) Думаю в этом есть смысле ) Я эксперементтирую :)

    • @YourPlayGamer
      @YourPlayGamer ปีที่แล้ว

      @@alex_dudukalo Полностью согласен

  • @aleksandrkozowski9717
    @aleksandrkozowski9717 9 หลายเดือนก่อน

    🍉

  • @ДовудМадобидов
    @ДовудМадобидов 8 หลายเดือนก่อน

    покажиш болше такие ролики

  • @IlyaAndreev-m7l
    @IlyaAndreev-m7l ปีที่แล้ว

    +

  • @lamer7905
    @lamer7905 2 หลายเดือนก่อน

    В целом все работает, но можно было бы и сделать склейки, а не все одним кадром. Зачем мне полчаса смотреть как такой изи код написать не понимаю. Можно было бы даже в шортс это уместить. Ну правда это кому как.