January 7,2021

Using CSS4’s validity pseudo-classes to make forms epic

by Mitch

css4-classes

This week there has been numerous articles flying around regarding selectors that may be included within CSS4.

One such article was Louis Lazaris’ which really nicely explained some of the new selectors which may be available and how we can use them.

The selectors that really stood out to me were the validity pseudo-classes. These selectors will allow us to change the display of elements depending on whether they are valid or invalid.

Why is this so exciting you ask?

It should be mentioned that this isn’t a solution for validating submitted values for form elements ( you will still need JavaScript or your server side code to do that ).

But this is perfect for helping visitors see that they are not forgetting to add values to inputs, or to even check that the type of value they are adding is right before they hit that submit button.

For instance check out the example below.

The element will be invalid until there is a value, and that value appears to be an email address.

How to use

<input type="text" placeholder="name" required>

The required attribute on the above element help the user to see this cannot be empty, but using these new pseudo-selectors we can improve the UX even more.

/* this will display until the input value is valid */
input[ type=text ]:invalid {
 border-color: red;
}
/* once a value is found, show the user */
input[ type=text ]:valid {
 border-color: green;
}

Once the input has a value, the border colour will change to green.

When using an email input field, the user will need to add a value and for that value to appear to be an email address before it becomes valid.

<input type="email" placeholder="email address" required>

How widely is this supported?

This is supported in the latest versions of IE, Firefox and Chrome, but Safari provides only partial support. Check out CanIUse.com for more information.

Continue Reading

AI Optimisation: An in-depth guide to AEO, LLMO, and GEO

AI optimisation is a digital process that requires websites to be read and understood by AI models. If the content on your site is optimised, AI may quote, reference and link back to your website.

Leanne March 5th, 2026
Magento 2 Guide: Attributes & Attribute Sets

This content is blocked because YouTube cookies have not been accepted.Accept cookies Here we’re going to look at an important, but sometimes overlooked part of Magento – Attributes. You are able to create custom attributes and use these improve the information you show for a product and offer more website navigation options, helping to improve … Continued

Tim February 16th, 2026
Magento 2 Guide: Editing The Basics

In this post, we are going to look at how to do some of the simple daya to day edits you might want if you have a Magento 2 website. Need help with Magento? We are experts in Magento, with experienced designers, developers & marketers. If you need a hand, get in touch. Contact us … Continued

Tim February 12th, 2026
Magento 2 Guide: Admin Menu Overview

In this Magento 2 guide:   Dashboard Sales Catalog Customers Marketing Content Reports Stores System Dashboard An overview of the website’s performance. From here you can quickly see things like lifetime sales, average order value, most purchased products and search terms made on the website. There’s also a graph showing recent order activity.   Sales … Continued

Tim February 12th, 2026