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. 在mybatis使用mysql的ON DUPLICATE KEY UPDATE語(yǔ)法實(shí)現(xiàn)存在即更新應(yīng)該使用哪個(gè)標(biāo)簽?2. mysql - 表名稱(chēng)前綴到底有啥用?3. Navicat for mysql 中以json格式儲(chǔ)存的數(shù)據(jù)存在大量反斜杠,如何去除?4. mysql - 數(shù)據(jù)庫(kù)表中,兩個(gè)表互為外鍵參考如何解決5. 哭遼 求大佬解答 控制器的join方法怎么轉(zhuǎn)模型方法6. mysql儲(chǔ)存json錯(cuò)誤7. mysql - 怎么生成這個(gè)sql表?8. 怎么php怎么通過(guò)數(shù)組顯示sql查詢(xún)結(jié)果呢,查詢(xún)結(jié)果有多條,如圖。9. sql語(yǔ)句 - 如何在mysql中批量添加用戶(hù)?10. 編輯成功不顯示彈窗
