HTML5 表單驗證失敗的提醒語題目
前言
前端的童鞋在寫頁面時, 都不可避免的總會踩到 表單驗證 這個坑. 這時候, 我們就要跪了, 由于要寫一堆 js 來檢查. 但是自從 H5 出現(xiàn)后, 許多常見的 表達驗證 , 它都已經(jīng)幫我們實現(xiàn)了, 讓我們減輕了許多負擔, 就彷佛下面的:
郵箱地址驗證:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Test</title> </head> <body> <form action=""> <label > 郵箱: <input type="email"> </label> <input type="submit"> </form> </body> </html>
郵箱驗證是 H5 自身支持的, 但是我們要驗證的場景和情況是多種多樣的, 那該怎么辦? 用回 Js 嗎? 很顯明沒這么蛋疼, 由于 H5 提供了 pattern 屬性, 讓我們白手起家! 我們可以在 pattern 指定正則表達式, 只要正則寫的好, 驗證就沒煩惱!
正則限制11位數(shù)字:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Test</title> </head> <body> <form action=""> <label > 數(shù)字: <input type="text" pattern="^\d{11}$"> </label> <input type="submit"> </form> </body> </html>
題目
大家可以嘗試下, 在輸入非11位的數(shù)字, 都會報錯, 這就是 pattern 的功勞. 但是不知道大家發(fā)現(xiàn)了一個蛋疼的征象沒? 就是假如咱們使用 pattern 的體例去驗證表單, 在驗證失敗時, 它的提醒都是 請與所請求的格式保持同等 , 我的天, 我們的用戶怎么知道所請求的格式是什么鬼, 總不能讓他們?nèi)タ丛创a吧, 要真如許, 我們連頁面都不用寫了, 直接讓他們把錢給我們得了, 開個打趣~
解決方案
有題目, 咱們就得解決, 在面向谷歌編程許久, 終于覓得一良方:
oninvalid:提交的input元素的值為無效值時(這里是正則驗證失?。|發(fā)
oninvalid事件。oninvalid屬于Form 事件。
setCustomValidity():這個是HTML5內(nèi)置的JS方法,用來自定義提醒信息
原來可以通過 oninvalid 和 setCustomValidity 來自定義提醒, 那這就好辦了, 修改源代碼如下:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Test</title> </head> <body> <form action=""> <label > 數(shù)字: <input type="text" pattern="^\d{11}$" oninvalid="setCustomValidity('請輸入11位數(shù)字')"> </label> <input type="submit"> </form> </body> </html>
效果:
終于不是那個蛋疼的"格式"了, 如今表單驗證提醒已經(jīng)很明確的告訴我們, 這里應該輸入的是什么樣的數(shù)據(jù), 如許用戶就能更好的修改本身的輸入了!
以上所述是小編給大家介紹的HTML5 表單驗證失敗的提醒語題目,盼望對大家有所幫助,假如大家有任何疑問請給我留言,小編會及時回復大家的。在此也特別很是感謝大家對圖趣網(wǎng)網(wǎng)站的支持!
本文地址:http://likemindfilms.com/tutorial/wd398.html