How to Build and Validate Beautiful Forms with Vanilla HTML, CSS, & JS

Forms are hard.   Knowing how to properly collect and validate user data is one of the most important skills a frontend developer needs to have. But it’s hard because edge cases abound. You have to consider all of the ways a user could break your pretty little form while simultaneously