JavaScript Form Validation

Поделиться
HTML-код
  • Опубликовано: 17 июн 2019
  • Form validation is one of the most common web development tasks. There are many ways to do form validation, but JavaScript is one of the best and easiest ways to write form validation. In this video I will be covering all of the concepts of form validation in JavaScript as well as how to display helpful error messages to the user. By the end of this video you will have all the tools you need to implement form validation in your own projects.
    📚 Materials/References:
    HTML Forms Explained: • Learn HTML Forms In 25...
    CodePen Code: codepen.io/WebDevSimplified/p...
    🧠 Concepts Covered:
    - Preventing form submission in JavaScript
    - Using HTML attributes to validate input elements
    - Displaying form validation messages to the user
    - How to check for form errors
    🌎 Find Me Here:
    Twitter: / devsimplified
    Discord: / discord
    GitHub: github.com/WebDevSimplified
    CodePen: codepen.io/WebDevSimplified
    #FormValidation #WDS #JavaScript

Комментарии • 369

  • @rkeenan85
    @rkeenan85 3 года назад +110

    Thank you for making these so short. I just need a basic idea of how this works. I have not done validation in awhile, and I was so stuck at work. This saved my life. I will definitely have to pick up your courses. You have saved me twice now.

    • @WebDevSimplified
      @WebDevSimplified  3 года назад +17

      I'm glad I have been able to help!

    • @hamzailyas7617
      @hamzailyas7617 2 года назад

      @@WebDevSimplified make videos short like that one 👍
      It will help you and also great for us

    • @el-jivacarter552
      @el-jivacarter552 Год назад

      can u do one for email and password

    • @krakatoom
      @krakatoom Год назад

      @@WebDevSimplified thanx for the clip. but my brwoser doesnt get back the error message. cant say why. and as for the use of name in js it say something about depracated. can u help me out!

  • @nickpapadopoulos7466
    @nickpapadopoulos7466 3 года назад +13

    Turns out all I needed was "required", but this was far more valuable than I anticipated. I can find many uses where you prevent the form from being submitted in the future. This video is dense in information, on point explanations without any second wasted. Thank you!

  • @preethamcs77
    @preethamcs77 3 года назад +2

    Almost 15 videos and landed here only to realize how perfect this video was. Just on point.

  • @pappucdl
    @pappucdl 4 года назад +18

    What I greatly like about your video is, they are concise and to the point. Also you solve problem in a single video which is excellent. Keep up the "Awesome Work!!!"

  • @westfield90
    @westfield90 4 года назад +29

    I’m so glad I found your channel. You explain it so well

    • @WebDevSimplified
      @WebDevSimplified  4 года назад +8

      Thank you! I'm glad you understand my teaching style.

  • @rogerrock12games
    @rogerrock12games Год назад +3

    I appreciate these courses. I tried your way and it didn't work, but at this point with all the learning I've begun to absorb, I was able to make a better validator using regular expressions, which while I'm having a really hard time with them, are very fun and useful if you know how to apply those concepts!

  • @sherryvlogs5271
    @sherryvlogs5271 Год назад +1

    He wasn't kidding when he said he's going to simplify the web for us. Thank you soo much

  • @TertiusRoach
    @TertiusRoach 4 года назад

    Just want to extend my thanks, straight to the point, proper mic and camera. Subbed :)

  • @destrayo3049
    @destrayo3049 2 года назад

    I like that you do not waste time you get straight into it .
    good luck.

  • @matiashillmann1278
    @matiashillmann1278 4 года назад +3

    This is great, I learned a lot. Thank you!!

  • @gibsgibus
    @gibsgibus 5 лет назад +4

    awesome dude ! thank you ! love the logic you used.

  • @vaidehikawal4117
    @vaidehikawal4117 3 года назад +11

    Simplicity level is on high N' The way you say "Oops"😍 got me there🤟💯

    • @sunsetsleeper
      @sunsetsleeper 2 года назад

      This mad tough i can't even find the open to live server

  • @BackspaceCadet
    @BackspaceCadet 3 года назад

    Love how simple you made this

  • @eftiprwtopapadakis9310
    @eftiprwtopapadakis9310 3 года назад

    finally a simple and easy to understand javascript validation form!

  • @awaisn
    @awaisn 4 года назад

    GOOD VIDEO. Short and to the point. Thanks for this!

  • @webstyle876
    @webstyle876 4 года назад +1

    Отличная подача информации , быстрый темп - радует)

  • @lefamofokeng8291
    @lefamofokeng8291 Год назад

    I actually have always been intimidated by JS part of creating sites but you make that appear so fun . Thanks!😊

  • @timurfayziyev1647
    @timurfayziyev1647 3 года назад

    Juda kotta yordam berdingiz raxmat! :)from Uzbekistan

  • @thetech3624
    @thetech3624 3 года назад

    Amazing, Amazing, Amazing. Couldn't have explained it better. Keep it up.

  • @joshkoster2851
    @joshkoster2851 3 года назад +1

    Thanks so much mate, you make it so simple! You got my sub.

  • @vaishnavimithapalli9071
    @vaishnavimithapalli9071 3 года назад +1

    i saw this video 2 times coz 1st i was just staring at him coz he is ssoooooooooo handsome and 2nd time..........dude you literally made it simple to understand. Thankyou soo soo much!!!!

  • @simonekranawetter316
    @simonekranawetter316 2 года назад +3

    Thank you for these videos. It's really simple to follow along, you have a clear way of explaining concepts and every time I try to implement them myself I have an easier time remembering because you explain it in a very easy to understand way and don't waste any time. Thank you so much for sharing!

  • @devoided2
    @devoided2 4 года назад +1

    omg this vid saved me
    thank you very much!

  • @bagel389
    @bagel389 3 года назад

    thank you, I've been trying to do this for a bit.

  • @slmshady539
    @slmshady539 3 года назад +7

    this was actually asked during an interview for an internship.

  • @AndrewKwabula
    @AndrewKwabula 4 года назад +1

    Dude, you are a great teacher, you negate questions from your students because your explanations are so clear.

  • @wahabrehman6848
    @wahabrehman6848 4 года назад

    Probably one of the best tutorials I've seen on RUclips. Too bad the algorithm doesn't recommend you enough

  • @patrick-dev
    @patrick-dev 3 года назад

    The way you explain the code while you're coding it is AMAZING! Thanks

  • @timowiedmer2991
    @timowiedmer2991 2 года назад

    Cool! It actually works even without defining the consts in the beginning ;)

  • @diddlenfiddle7311
    @diddlenfiddle7311 4 года назад +2

    Only 5k views? I hope you get more man, good stuff!

    • @WebDevSimplified
      @WebDevSimplified  4 года назад

      Thank you! 5k is more than a lot of my videos so I am very happy with that.

  • @hiwayshoes
    @hiwayshoes 5 лет назад +5

    Hi there! You make these concepts so understandable. I appreciate your channel so much. Please keep making these great videos... Cheers!

  • @joashemmanuel288
    @joashemmanuel288 3 года назад

    Thank you for the video. It was concise and understandable to a beginner.

  • @xxrartoxx
    @xxrartoxx 4 года назад

    That was really helpful, great video

  • @geraldakabike2026
    @geraldakabike2026 5 лет назад +2

    Learnt Something New Today... Much Appreciated

  • @mykolamysko987
    @mykolamysko987 5 лет назад +111

    I must say you'll get in a same league with NetNinja and BradTraversy in no time if you keep it up. Awesome content.

    • @WebDevSimplified
      @WebDevSimplified  5 лет назад +21

      Thank you! That is a huge compliment. I think both those teachers are amazing.

    • @pastorfred2543
      @pastorfred2543 4 года назад +3

      I discovered him not long ago and he's really amazing I must confess.. I followed his tutorials concerning async await and I was able to apply it in my current inventory project..

    • @jackfrost8969
      @jackfrost8969 3 года назад +2

      he is far better than BradTraversy and just as good as NetNinja if not even better.

    • @gon_9062
      @gon_9062 3 года назад

      @@pastorfred2543 ٤ش

    • @susmitislam1910
      @susmitislam1910 3 года назад

      You saw quite far into the future my friend

  • @uttampaul2467
    @uttampaul2467 4 года назад

    Awesome,you explain so easily...Thank you very much.

  • @ajayshankhwar730
    @ajayshankhwar730 3 года назад

    your channel shares some really good content ....what i was looking for

  • @makelovenotwar9941
    @makelovenotwar9941 3 года назад

    Will experiment other validations with your codes here as my guide. Thanks!

  • @qwertykeypad789
    @qwertykeypad789 5 лет назад

    Once again...
    Great video!!!

  • @jayamali1422
    @jayamali1422 Год назад

    Thank you this video helped me a lot .

  • @joakimwretlind4016
    @joakimwretlind4016 4 года назад

    Short with good explanation. Very nice.

  • @nurainnabila2218
    @nurainnabila2218 2 года назад

    Thank you so much !!! Love this channel !!!!

  • @mohamedelyeszormati
    @mohamedelyeszormati Год назад

    This was a helpful tutorial, thank you.

  • @eclecticann
    @eclecticann 2 года назад

    hiya! thanks for this post. very helpful. question though. what happens when they fill out all the input fields? would u recommend an else statement? thanks.

  • @beganarasusekar6195
    @beganarasusekar6195 3 года назад +1

    You are incredible man😍

  • @dur1m4r93
    @dur1m4r93 3 года назад

    very helpful video, thanks a lot, good job!

  • @degsewtegegne
    @degsewtegegne Год назад

    Thank you very much! Short
    And it's easy.👍

  • @andrei-petrulazar5564
    @andrei-petrulazar5564 2 года назад

    Awesome! Thank you!!

  • @manueltylan827
    @manueltylan827 2 года назад

    Simple and clear🔥🔥🔥🔥🔥🔥🔥

  • @jalen.austin
    @jalen.austin 4 года назад +1

    Thanks for this

  • @consoledoterror971
    @consoledoterror971 4 года назад +9

    All I wanted in a single video.

  • @shadon_official2510
    @shadon_official2510 2 года назад

    such an amazing and concise video

  • @hesamalavi9
    @hesamalavi9 4 года назад

    Hi, thanks very much for the video. What if you have more fields, like last name and you would like the message to come up if that field is empty too. I know I could add the required to the HTML but I was interested in getting the message using js

  • @deboragetachew5677
    @deboragetachew5677 2 года назад

    Very helpful. Thank you.

  • @OutMagic
    @OutMagic Год назад

    So helpful man, thank you C:

  • @mr.anything6882
    @mr.anything6882 3 года назад

    SO COOL!!!!I LEARNED A LOT

  • @hrushikeshpatil3772
    @hrushikeshpatil3772 3 года назад

    Straight to the point.....

  • @Hirand2349_3
    @Hirand2349_3 3 года назад

    Simply Superb ... Kept cmplx things easier

  • @DaraMojibayo
    @DaraMojibayo 3 года назад

    Awesome video, good content and nice explanations. Do you have a JavaScript series video

  • @majidamini237
    @majidamini237 2 года назад

    thanks a lot it was better than a calculator project because i understood every thinh in this video :))

  • @splitlang
    @splitlang 5 лет назад

    Hi thank you I can not get away from the channel but because of work thanks

  • @NNNedlog
    @NNNedlog 2 года назад

    Thanks a lot for this tutorial

  • @michelecicozzi1197
    @michelecicozzi1197 4 года назад

    Nice content.I just have a question... but if you sanitize user inputs on client side ( for example to prevent sql injections or something similar ), is this easier to bypass using something like Burpsuite, I mean use of valid input, intercept and then inject sql injection code using burp..??

  • @robertefremov9380
    @robertefremov9380 2 года назад +1

    i couldn't quite get if it wipes the content in the "messages" array after the function has run, or when you run the function again it wipes the previous error messages? Or is it the event being over that wipes the content in the "messages" array?

  • @__jake.m
    @__jake.m 2 года назад

    Thank you so much man!

  • @tkchamp5120
    @tkchamp5120 3 года назад +1

    this guy misspells things the exact same way as me, i feel at home

  • @diogostein848
    @diogostein848 Год назад

    This helped me a lot. I was adding an event listener to the submit button, not the form. So the validation wasn't working. Thanks for the tutorial.

  • @enricoisola3955
    @enricoisola3955 3 года назад

    FANTASTIC!

  • @nickwoodward819
    @nickwoodward819 2 года назад

    Great vid. Out of interest, if you've validation server side too I assume you don't bother returning the errors to the client then? Just rely on the fact that the front end validation is the same as the back end?

  • @oliveroshea5765
    @oliveroshea5765 11 месяцев назад

    Awesome, many thanks

  • @rishengopaldass1103
    @rishengopaldass1103 3 года назад +1

    Hi there.
    Thank you for the video. Was great!
    Although I noticed that validating input types wasn't included. For example. What if the user entered a number in the Name field.
    Please can you help with 'Validation Types', across fields, so to speak. It would be a useful extension to this video.
    I've been trying for so long but cannot get it right. This may help others as well.
    Most grateful!

  • @lgiardili
    @lgiardili Год назад

    good job!! thanks!!

  • @arjun-de6dr
    @arjun-de6dr 2 года назад

    Awesome explanation

  • @TheMaro57
    @TheMaro57 Год назад +8

    A note for beginners. The code runs by order so that things to work smoothly. Do not mix up the order of the If commands. Also take out the action figure inside the because that is for only when the html file is hosted on a different server.

    • @01suku77
      @01suku77 Год назад +1

      holy shit thanks

    • @m.j.mcintear793
      @m.j.mcintear793 Год назад

      how to call the function with each of these variables as an argument emailaddress variable and emailconfirm variables
      Do you know how to make two of the same emails need to match and is that client side validation or server side? Inquiry of js on html form

    • @TheMaro57
      @TheMaro57 Год назад +1

      @@m.j.mcintear793 I forgot all that I learned sorry lol

    • @dracophobic3381
      @dracophobic3381 Год назад

      @@m.j.mcintear793 I would assume you could do something like this in js:
      If(email1 !== email2){
      Error.value.push("emails must match")
      }

  • @carlandres3319
    @carlandres3319 4 года назад

    Thanks for using vanilla JavaScript !!

    • @WebDevSimplified
      @WebDevSimplified  4 года назад +1

      You're welcome! I generally use vanilla JS in all my tutorials when possible. I only reach for a library if it really saves me time.

  • @htmlcssjavascriptjqueryphp5855
    @htmlcssjavascriptjqueryphp5855 2 года назад

    thanks a lot really helped me !

  • @921dgratias
    @921dgratias 2 года назад

    Question, when using .join(',') method. If you click on the submit button multiple times the same error message will also appear multiple times since they are being pushed in the array. what's the way around it?

  • @imjaystationbest2
    @imjaystationbest2 3 года назад

    Bro thank you so much im working on a website and all the other ones are indian language thanks for speaking English.

  • @isulakshani12
    @isulakshani12 2 года назад

    Really important video

  • @muhammedshafeeralip4178
    @muhammedshafeeralip4178 Год назад

    Thank you ,You Saved me...

  • @davi_singh
    @davi_singh 4 года назад +1

    Awesome video, would be good to go through some of the HTML5 validation that comes built into most browsers

  • @darccau7204
    @darccau7204 2 года назад

    thanks, it help me a lot

  • @OhOk616
    @OhOk616 Год назад

    Thanks for the help

  • @steveotieno8441
    @steveotieno8441 2 года назад +5

    My Guy, The Way you structured that Code, You're smart!!!

  • @TheMaster201989
    @TheMaster201989 7 месяцев назад

    nice work and great simply explained it

  • @trinityshelly3965
    @trinityshelly3965 2 года назад

    super helpful video thanks

  • @BhavinTrivedi-of4zs
    @BhavinTrivedi-of4zs Год назад

    Thank you so much 🥰

  • @Nickdacooldude
    @Nickdacooldude 4 года назад

    Thanks man

  • @nashsmith2303
    @nashsmith2303 3 года назад

    Nice and simple! love it. Do you have experience with making web accessible form validation? Would love to see a slightly more in depth version focusing on form validation compliant with WCAG

  • @sarveshbhatt3907
    @sarveshbhatt3907 3 года назад

    gr8 video precise and to the point.
    btw I do have 1 qstn can we use alert instead of messages?.

  • @paulpancake
    @paulpancake Год назад

    Thank you for the tutorial. But how do I enable the default again, after giving a false password once and the correcting it? It keeps showing the error message :(

  • @motorazr777
    @motorazr777 5 лет назад

    Hi buddy , all your videos are amazing, thanxs so much for doing this type of content.
    Would you mind if you might do a video about best practices of coding? Things as, which resources to study, and a Top languages to learn as a beginner. Thanxs a lot again !!!

    • @WebDevSimplified
      @WebDevSimplified  5 лет назад +1

      Thanks. I try to point out best practices in all of my project based videos when I come across them. I also have a few videos on how to study and best resources. They are in the top 10 and discussion playlists on my channel.

    • @motorazr777
      @motorazr777 5 лет назад

      @@WebDevSimplified Great, well, I'll check out your channel to watch that video. Thanks again .

  • @xxapoloxx
    @xxapoloxx 6 месяцев назад

    How do you addapt Forms to work well with SPAs and Ajax? they seem like legacy code from the 90s

  • @mr.RAND5584
    @mr.RAND5584 3 года назад

    Can i combine it with reactjs? I dont like formik or final form librabry. I just want easy to understand code.

  • @TomasMisura
    @TomasMisura 2 года назад

    this quite useful as I am trying to do ajax call using form submit event but it constantly refreshes. I know what's happening but could not avoid it. Now I get it.

  • @zettabytesofknowledge8235
    @zettabytesofknowledge8235 4 года назад

    Oh wow you make this look so easy and I'm learning this at light speed now, thank you! So I'm getting stuck w my js not linking:
    "Add a paragraph after the closing form tag with a statement letting the user know the form has been reset.
    Apply an id to with the appropriate value that matches the appropriate JavaScript statement.
    "
    I think that means add a event listener to the reset button, if so, how? please or can I add multiple functions to a reset button? Like popup alert that its been reset and a hidden message made visible that form has been reset? IDK why in real life id need to add such redundancy, just that is what I'm interpreting the assignment says needs to happen.
    what I have so far, please keep in mind its my first js assignment and its erroring out:
    4 10 'unhideThankYou' is defined but never used.
    7 12 'hideThankYou' is defined but never used.
    16 12 'myFunction' is defined but never used.
    "document.getElementById("lastmodified").innerHTML = document.lastModified;
    function unhideThankYou() {
    document.getElementById("thankyou").style.visibility = "visible";
    }
    function hideThankYou() {
    document.getElementById("thankyou").style.visibility = "hidden";
    }
    function myFunction() {
    document.getElementById("notshown").innerHTML = "Thank you for submitting the form";
    }
    function myFunction() {
    // Adds the text to the heading tag.
    document.getElementById("h2").innerHTML="The form has been turned in. Thank you!";
    document.getElementById("submitbutton3").innerHTML="Thank you the form has been submitted";
    }
    "
    ""On the reset button, add the onclick attribute with a function name of your choosing for your reset message as the value.
    On the submit button, add the onclick attribute with a function name of your choosing for the form submission message as the value."

  • @salwashafrin1829
    @salwashafrin1829 Год назад

    Thank you ❤️

  • @suyogamin1859
    @suyogamin1859 4 года назад +1

    nice explanation bro

  • @5Pectral
    @5Pectral 5 лет назад +1

    This is a very slick and simple tutorial. However I would be weary of claiming to "cover all concepts" of validation as you only used one of the many input types HTML provides. Also, you began by creating an event listener to prevent its default behavior but then continued to use it to validate input and push error messages. Ideally these should be their own functions, but I get that you may have consolidated them for the sake of the tutorial. It's just that your viewers are going to pick up the habits they see, and unless you say otherwise they might start writing doEverything() functions :P Allinall this tutorial definitely hit the mark, and whats more, they'll only get better!

    • @WebDevSimplified
      @WebDevSimplified  5 лет назад

      Thank you for the feedback. I can definitely see the desire for a separate function that builds the error messages which is called from the event listener to clean up the code. I feel for this example though since it was so small it probably isn't worth it especially since it can add extra complexity to the tutorial.

  • @seeboo6856
    @seeboo6856 3 года назад

    I’ll never fail IT🥰