成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

快速了解:User-valid和:User-invalid

開發 前端
相對于??:valid??和??:invalid??,新加了??user-??前綴,其實就是表示用戶,也就是說,這個校驗要等用戶操作之后才會校驗,避免滿屏都是紅色輸入框的尷尬。

最近,Chrome 119 終于正式對:user-valid和:user-invalid這兩個驗證偽類進行了支持。

至此,現代瀏覽器總算是全面支持了。

看名稱,似乎和:valid和:invalid有點相似,那么有什么區別呢?快速了解一下吧

一、:valid 和 :invalid 的缺陷

大家可能或多或少都用過或者見過這兩個偽類,這里簡單介紹一下。

這兩個都是做表單驗證的,當表單輸入合法或者非法的時候匹配。

比如這樣一個輸入框,設置了required屬性,表示必填項。

<form>
  <label for="user">user *: </label>
  <input id="user" name="user" required />
  <span></span>
</form>

目前效果是這樣的。

下面我們通過:invalid偽類進行校驗,在不合法的情況下邊框變紅,并給出提示:

input:invalid {
  border-color: red;
}
input:invalid + span::before {
  content: "請輸入";
  color: red;
}

當輸入框沒有內容時,就會出現錯誤提示。

一旦輸入內容了,提示就消失了。

乍一看好像沒什么毛病。

但是有個問題是,這個校驗太及時了,用戶還沒做出任何交互,頁面一進來就就出現錯誤提示了,你想想,用戶一打開頁面就看見大部分的輸入框都是紅色的,是不是不太友好?

為了解決這個問題,:user-valid和:user-invalid就出現了!

二、更友好的校驗方式

相對于:valid和:invalid,新加了user-前綴,其實就是表示用戶,也就是說,這個校驗要等用戶操作之后才會校驗,避免滿屏都是紅色輸入框的尷尬。

使用方式和規則和前面完全相同,我們把前面的CSS改一下。

input:user-invalid {
  border-color: red;
}
input:user-invalid + span::before {
  content: "請輸入";
  color: red;
}

下面是兩種偽類的對比。

可以看到,下面的輸入框在初始情況下是不會校驗的,只有用戶手動輸入后才會校驗,這樣體驗就會好很多了~

值得注意的是,在用戶操作之前(聚焦、輸入等),即使是用腳本改變輸入框內容,也是不會觸發的。

input.value = '1223';
input.value = ''; // 不會提示錯誤

三、簡單總結一下

這樣一個小知識點,你學到了嗎?再來簡單回顧一下

  • :valid和:invalid可以用于表單驗證
  • 不過這種方式校驗太及時了,用戶還沒做出任何交互,就出現一堆錯誤提示,體驗不太友好
  • :user-valid和:user-invalid只有在用戶操作以后才會觸發,提升了體驗
  • 在用戶操作之前,用 JS改變表單內容是不會觸發的

當然這個特性目前三五年內都是無法使用的,不過我們依然可以參考這樣的交互方式,提升用戶體驗。

責任編輯:姜華 來源: 前端偵探
相關推薦

2009-07-08 17:04:25

user cache

2017-03-17 09:38:16

MySQL數據庫網路

2021-05-14 07:15:23

UsertpUser工具

2023-11-03 11:56:34

2011-08-24 13:43:09

CREATE USER中文man

2011-07-20 14:31:56

XCode User Scrip 腳本

2011-08-24 09:51:53

alter_user中文man

2011-08-24 14:59:50

drop_user中文man

2009-08-06 14:53:41

C# User類

2010-10-08 10:27:30

Mysql User表

2010-11-23 13:36:29

Mysql User表

2009-10-13 16:46:17

vmware_user

2015-08-26 16:17:49

OpenStack OpenStack 架開源云平臺

2011-09-15 14:57:49

ubunturootuser用戶

2015-07-29 10:18:35

Direct Cons虛擬化

2013-08-21 13:14:56

iPhoneUser-Agent方法

2025-05-19 00:05:12

2016-12-30 13:43:35

異步編程RxJava

2009-11-17 09:47:54

Oracle SQL語

2009-11-13 15:55:52

Oracle哈希連接
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久久久久久91 | 狠狠热视频 | 久久精品日产第一区二区三区 | 色综合色综合 | 久久精品国产久精国产 | www.伊人.com| 久久国产一区二区 | 91精品久久久 | 国产毛片视频 | 国产一区二区三区www | 九九热最新地址 | 精品一区二区三区在线观看 | 免费观看一级毛片 | 国产色片在线 | 亚洲成人一区 | 国产在线小视频 | 国产精品欧美一区二区三区不卡 | 91亚洲精品久久久电影 | 国产精品一区久久久 | 国产精品免费观看 | 国产精品99久久久精品免费观看 | 免费一区 | 国产 日韩 欧美 制服 另类 | 国产高清毛片 | 欧美日韩中文字幕在线播放 | 一区二区三区四区在线免费观看 | 亚洲美女网站 | 欧美成人一区二区 | 福利av在线 | 亚洲成av人片在线观看无码 | 久久久久久久电影 | 亚洲综合中文字幕在线观看 | 国产在线一区观看 | 日韩成人在线免费观看 | 中文一区 | 一级片成人 | 成人激情视频网 | 亚洲视频在线看 | 国产亚洲欧美在线视频 | 亚洲高清视频在线观看 | 国产一级毛片视频 |