Skip to content

allfigueiredodev/interactive-card

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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

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
  • Flexbox
  • Mobile-first workflow
  • Git
  • React - JS library
  • Github Pages

What I learned

The pseudo-class :invalid to use input validation to apply a style to another element:

input:invalid[focused="true"] ~ span {
    display: block;
}
<span className="input__error--text">{errorMsg}</span>

The useContext was the tool that I used to share state and functions with other components in different files, learned how to create the provider, and consume the context where it's needed.

import React, { useState, createContext } from "react";

export const InfoContext = createContext();

Continued development

  • managing state
  • react hooks
  • form validation

Useful resources

Author

Acknowledgments

Shout out to those people creating content to help others make their way into development.

About

Frontend Mentor - Interactive card details form solution

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published