CSS中的oninvalid屬性是一個(gè)非常有用的功能,它可以用來設(shè)置表單驗(yàn)證失敗時(shí)需要執(zhí)行的操作。當(dāng)用戶在一個(gè)input標(biāo)簽中輸入了錯(cuò)誤的數(shù)據(jù)格式時(shí),可以通過設(shè)置oninvalid屬性來展示錯(cuò)誤信息,或改變標(biāo)簽的樣式。
input:invalid { border-color: red; box-shadow: 0 0 5px red; } input:valid { border-color: green; box-shadow: 0 0 5px green; }
上面的代碼中,我們可以看到設(shè)置了input標(biāo)簽的valid和invalid狀態(tài)下的邊框顏色和陰影。這樣,當(dāng)用戶輸入正確的格式時(shí),input標(biāo)簽的邊框?qū)⒆優(yōu)榫G色以示正確,當(dāng)用戶輸入錯(cuò)誤時(shí),邊框?qū)⒆優(yōu)榧t色以示錯(cuò)誤。
除了改變樣式外,我們也可以設(shè)置oninvalid屬性來展示錯(cuò)誤信息。例如:
input:invalid { border-color: red; } input:invalid:after { content: '請(qǐng)輸入正確的郵箱地址'; color: red; }
上面的代碼中,當(dāng)input標(biāo)簽的內(nèi)容格式錯(cuò)誤時(shí),將會(huì)在其后面顯示紅色錯(cuò)誤提示信息,提示用戶請(qǐng)輸入正確的郵箱地址。
總之,CSS中的oninvalid屬性為表單驗(yàn)證提供了很多實(shí)用的功能,可以通過它來設(shè)置樣式或者提示信息,來提高用戶的體驗(yàn)。