:user-valid (:-moz-ui-valid)
Quick Summary for :user-valid
The :user-valid CSS pseudo-class represents any validated form element whose value validates correctly based on its validation constraints. However, unlike :valid it only matches once the user has interacted with it.
Code Usage for :user-valid
<form>   <label for="email">Email *: </label>   <input id="email" name="email" type="email" value="test@example.com" required>   <span></span> </form> 
More Details for :user-valid

:user-valid (:-moz-ui-valid)

The :user-valid CSS pseudo-class represents any validated form element whose value validates correctly based on its validation constraints. However, unlike :valid it only matches once the user has interacted with it.

Note: The pseudo-class behaves in the same way as the non-standard :-moz-ui-valid pseudo-class.

This pseudo-class is applied according to the following rules:

If the control does not have focus, and the value is valid, apply this pseudo-class. If the control has focus, and the value was valid (including empty) when it gained focus, apply this pseudo-class. If the control has focus, and the value was invalid when it gained focus, re-validate on every keystroke. If the element is required, the preceding rules apply only if the user has changed the value or attempted to submit the form.

The result is that if the control was valid when the user started interacting with it, the validity styling is changed only when the user shifts focus to another control. However, if the user is trying to correct a previously-flagged value, the control shows immediately when the value becomes valid. Required items are flagged as invalid only if the user changes them or attempts to submit an unchanged invalid value.

Syntax

:user-valid

Examples

Setting a color and symbol on :user-valid

In the following example, the green border and ✅ only display once the user has interacted with the field. Try changing the email address to another valid email to see it in action.

<form>   <label for="email">Email *: </label>   <input id="email" name="email" type="email" value="test@example.com" required>   <span></span> </form> 
input:user-valid {   border: 2px solid green; }  input:user-valid + span::before {   content: '✓';   color: green; } 

Specifications

Specification
Selectors Level 4 # user-valid-pseudo

See also

:valid :invalid :required :optional :user-invalid

Last modified: Aug 12, 2021, by MDN contributors

Select your preferred language English (US)日本語 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
Be Yourself, Back Yourself
Kristie Bennett, Survivor
Random CSS Property

@viewport

Deprecated: This feature is no longer recommended. Though some browsers might still support it, it may have already been removed from the relevant web standards, may be in the process of being dropped, or may only be kept for compatibility purposes. Avoid using it, and update existing code if possible; see the compatibility table at the bottom of this page to guide your decision. Be aware that this feature may cease to work at any time.
min-width (@viewport) css reference