Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found

Submitted

Newsletter signup form

Tom Roche 330

@TomrocheDev

Desktop design screenshot for the Newsletter sign-up form with success message coding challenge

This is a solution for...

  • HTML
  • CSS
  • JS
2junior
View challenge

Design comparison


SolutionDesign

Solution retrospective


What challenges did you encounter, and how did you overcome them?

I haven't got much experience with form validation, so the validation was sort of a challenge for me. I struggled with the error message because the :invalid pseudo selector gave the error message when the user was typing in the email address. That was not the experience I wanted to create so I fixed the problem with JavaScript. I'm not sure if this is the correct way to handle form validation, so any advice is welcome.

What specific areas of your project would you like help with?

Correct ways of form validation.

Community feedback

Alex 3,130

@Alex-Archer-I

Posted

Hi!

There are a few ways to validate input field via JS. For example, you can check the value every time when it's changing with the input event. This event triggers every time user types something, but that is not a very popular method cos it's could be annoying to get error message before you write all what you want.

Alternative way is to use change or focusout events. Those events both triggers when input loose focus, but change works only if it's value were changed.

Than you need to validate input's value. The easiest way to do it by using regular expressions. For now I use this one - /[-.\w]+@([\w-]+\.)+[-\w]/g, but I need to improve it cos it's not validate numbers.

Also I recommend you to learn about special JS object FormData and use it to collect data from forms. This object is quite useful when you need to send data to the server, so It is a good habit for the future projects.

Oh, and I was recently wondered about accessibility issues which occurs when we are using custom error messages and I found this article.

I hope something of this could be helpful =)

Marked as helpful

0

Tom Roche 330

@TomrocheDev

Posted

Thanks @Alex-Archer-I for your helpful explaination. Definitely checking ot the FormData object. Very useful! Thanks again.

1
Alex 3,130

@Alex-Archer-I

Posted

@TomrocheDev

Glad I could help. Feel free to ask or comment if you need =)

0

Please log in to post a comment

Log in with GitHub
Discord logo

Join our Discord community

Join thousands of Frontend Mentor community members taking the challenges, sharing resources, helping each other, and chatting about all things front-end!

Join our Discord