:invalid
Quick Summary for :invalid
The :invalid CSS pseudo-class represents any <input> or other <form> element whose contents fail to validate.
Code Usage for :invalid
/* Selects any invalid <input> */ input:invalid {   background-color: pink; } 
More Details for :invalid

:invalid

The :invalid CSS pseudo-class represents any <input> or other <form> element whose contents fail to validate.

/* Selects any invalid <input> */ input:invalid {   background-color: pink; } 

This pseudo-class is useful for highlighting field errors for the user.

Syntax

:invalid

Examples

A form that colors elements green when they validate and red when they don't.

HTML
<form>   <div class="field">     <label for="url_input">Enter a URL:</label>     <input type="url" id="url_input">   </div>    <div class="field">     <label for="email_input">Enter an email address:</label>     <input type="email" id="email_input" required>   </div> </form> 
CSS
label {   display: block;   margin: 1px;   padding: 1px; }  .field {   margin: 1px;   padding: 1px; }  input:invalid {   background-color: #ffdddd; }  form:invalid {   border: 5px solid #ffdddd; }  input:valid {   background-color: #ddffdd; }  form:valid {   border: 5px solid #ddffdd; }  input:required {   border-color: #800000;   border-width: 3px; }  input:required:invalid {   border-color: #c00000; } 
Result

Accessibility concerns

The color red is commonly used to indicate invalid input. People who have certain types of color blindness will be unable to determine the input's state unless it is accompanied by an additional indicator that does not rely on color to convey meaning. Typically, descriptive text and/or an icon are used.

MDN Understanding WCAG, Guideline 1.4 explanations Understanding Success Criterion 1.4.1 | W3C Understanding WCAG 2.0

Notes

Radio buttons

If any one of the radio buttons in a group is required, the :invalid pseudo-class is applied to all of them if none of the buttons in the group is selected. (Grouped radio buttons share the same value for their name attribute.)

Gecko defaults

By default, Gecko does not apply a style to the :invalid pseudo-class. However, it does apply a style (a red "glow" using the box-shadow property) to the :user-invalid pseudo-class, which applies in a subset of cases for :invalid.

Specifications

Specification
HTML Standard # selector-invalid
Selectors Level 4 # validity-pseudos

See also

Other validation-related pseudo-classes: :required, :optional, :valid Related Mozilla pseudo-classes: :user-invalid, :-moz-submit-invalid Form data validation Accessing the validity state from JavaScript

Last modified: Jan 3, 2022, by MDN contributors

Select your preferred language English (US)DeutschEspañolFrançais日本語Português (do Brasil)Русский中文 (简体) Change language

No Items Found.

Add Comment
Type in a Nick Name here
 
Other Categories in CSS
css
Search CSS
Search CSS by entering your search text above.
Welcome

This is my test area for webdev. I keep a collection of code here, mostly for my reference. Also if i find a good link, i usually add it here and then forget about it. more...

Subscribe to weekly updates about things i have added to the site or thought interesting during the last week.

You could also follow me on twitter or not... does anyone even use twitter anymore?

If you found something useful or like my work, you can buy me a coffee here. Mmm Coffee. ☕

❤️👩‍💻🎮

🪦 2000 - 16 Oct 2022 - Boots
Random Quote
"We're tight-fisted with property and money, yet think too little of wasting time, the one thing about which we should all be the toughest misers.”
Seneca
Random CSS Property

word-break

The word-break CSS property sets whether line breaks appear wherever the text would otherwise overflow its content box.
word-break css reference