html5表單驗(yàn)證
問(wèn)題描述
html5中那些原生的驗(yàn)證,如required、pattern等,在驗(yàn)證無(wú)效時(shí),那些彈出的提示框是怎么實(shí)現(xiàn)的?為什么當(dāng)因?yàn)椴煌募s束條件不滿足而無(wú)效時(shí),會(huì)彈出不同內(nèi)容的提示框?是不是結(jié)合invalid事件和validity屬性實(shí)現(xiàn)的?setCustomValidity()方法的工作原理是什么?感覺(jué)這塊內(nèi)容越看越亂,還請(qǐng)大牛指教……
問(wèn)題解答
回答1:去看MDN上的表單驗(yàn)證吧,我覺(jué)得說(shuō)的還是挺清楚的,你可以按照它給的小demo一點(diǎn)點(diǎn)擼,慢慢就明白了。
回答2:required:空白驗(yàn)證,比如說(shuō):
<form> <input type='text' required oninvalid='setCustomValidity(’此處不能為空!’)' oninput=(’setCustomValidity()’)> <input type='submit' value='提交'></form>
如果input[type=text]的value為空,就會(huì)彈出提示框,并且阻止表單提交;pattern:匹配正則表達(dá)式,比如說(shuō):
<form> <input type='text' pattern='[0-9]{3}' oninvalid='setCustomValidity(’請(qǐng)輸入3個(gè)數(shù)字!’)' oninput=(’setCustomValidity()’)> <input type='submit' value='提交'></form>
如若input[type=text]的value不為3個(gè)數(shù)字,在點(diǎn)擊提交按鈕的時(shí)候,就會(huì)提出提示
相關(guān)文章:
1. mysql - 記得以前在哪里看過(guò)一個(gè)估算時(shí)間的網(wǎng)站2. python - 啟動(dòng)Eric6時(shí)報(bào)錯(cuò):’qscintilla_zh_CN’ could not be loaded3. css3 - 我想要背景長(zhǎng)度變化,而文字不移動(dòng),要怎么修改呢4. android下css3動(dòng)畫(huà)非常卡,GPU也不差啊5. python - 有什么好的可以收集貨幣基金的資源?6. MySQL中的enum類型有什么優(yōu)點(diǎn)?7. javascript - 關(guān)于<a>元素與<input>元素的JS事件運(yùn)行問(wèn)題8. javascript - vue 怎么渲染自定義組件9. javascript - 同步方式寫異步到底指什么?10. css3 - 純css實(shí)現(xiàn)點(diǎn)擊特效
