Skip to content

codexshell/interactive-card-details-form

Repository files navigation

Frontend Mentor - Interactive card details form solution

This is a solution to the Interactive card details form challenge on Frontend Mentor. Frontend Mentor challenges help you improve your coding skills by building realistic projects.

Table of contents

Note: Delete this note and update the table of contents based on what sections you keep.

Overview

The challenge

Users should be able to:

  • Fill in the form and see the card details update in real-time
  • Receive error messages when the form is submitted if:
    • Any input field is empty
    • The card number, expiry date, or CVC fields are in the wrong format
  • View the optimal layout depending on their device's screen size
  • See hover, active, and focus states for interactive elements on the page

Screenshot

Links

My process

Built with

  • Semantic HTML5 markup
  • CSS custom properties
  • Flexbox
  • CSS Grid
  • Mobile-first workflow
  • SvelteKit - JS library
  • CUBE - CSS Methodology
  • tailwindcss - CSS Framework
  • cleavejs - JS library

What I learned

  • To disable browser automatic form validation, use the novalidate form attribute.
<form novalidate>...</form>
  • How to create an object with dynamic keys in JavaScript
  • This is made possible by enclosing the expression inside square brackets.
const key = 'title';
const value = 'JavaScript';

const course = {
	[key]: value,
	price: '$99'
};
  • In the above code [key] will evaluate the expression to title

  • The attribute is a boolean attribute it presence turns off automatic form validation. In it's absence the browser will continue with automatic form validation

Continued development

Useful resources

Author