Skip to content

codexshell/intro-component-with-sign-up-form

Repository files navigation

Frontend Mentor - Intro component with sign up form solution

This is a solution to the Intro component with sign up form challenge on Frontend Mentor. Frontend Mentor challenges help you improve your coding skills by building realistic projects.

Table of contents

Overview

The challenge

Users should be able to:

  • View the optimal layout for the site depending on their device's screen size
  • See hover states for all interactive elements on the page
  • Receive an error message when the form is submitted if:
    • Any input field is empty. The message for this error should say "[Field Name] cannot be empty"
    • The email address is not formatted correctly (i.e. a correct email address should have this structure: name@host.tld). The message for this error should say "Looks like this is not an email"

Screenshot

desktop screenshot of the website

Links

My process

Built with

  • Semantic HTML5 markup
  • CSS custom properties
  • Flexbox
  • CSS Grid
  • Mobile-first workflow
  • tailwindcss - A CSS framework
  • Svelte - JS library
  • SvelteKit - Svelte framework

What I learned

  • Client side form validation
  • How to disable browser form validation using novalidate, form attribute
  • Using JavaScript to handle client side form validation (Constraint Validation API)

Continued development

Useful resources

  • Client-side form validation - This allowed me to use purely JavaScript to handle client side form validation. I really liked this pattern and will use it going forward.
  • Array.from() - This mdn documentaion allowed me to make a shallow copy of an array like object. This provides the ability to use higher order array methods

Author