国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > HTML > 正文

HTML5 表單驗證失敗的提示語問題

2020-03-24 16:00:14
字體:
來源:轉載
供稿:網友
前端的童鞋在寫頁面時, 都不可避免的總會踩到 表單驗證 這個坑. 這時候, 我們就要跪了, 因為要寫一堆 js 來檢查. 但是自從 H5 出現后, 很多常見的 表達驗證 , 它都已經幫我們實現了, 讓我們減輕了很多負擔, 本文我們就和大家分享HTML5 表單驗證失敗的提示語問題。

郵箱地址驗證:


 !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位數字:


 !DOCTYPE html  html lang= en  head  meta charset= UTF-8  title Test /title  /head  body  form action=  label  數字: input type= text pattern= ^/d{11}$  /label  input type= submit  /form  /body  /html 


問題

大家可以嘗試下, 在輸入非11位的數字, 都會報錯, 這就是 pattern 的功勞. 但是不知道大家發現了一個蛋疼的現象沒? 就是如果咱們使用 pattern 的方式去驗證表單, 在驗證失敗時, 它的提示都是 請與所請求的格式保持一致 , 我的天, 我們的用戶怎么知道所請求的格式是什么鬼, 總不能讓他們去看源碼吧, 要真這樣, 我們連頁面都不用寫了, 直接讓他們把錢給我們得了, 開個玩笑~

解決方案

有問題, 咱們就得解決, 在面向谷歌編程許久, 終于覓得一良方:

oninvalid:提交的input元素的值為無效值時(這里是正則驗證失敗),觸發

oninvalid事件。oninvalid屬于Form 事件。

setCustomValidity():這個是HTML5內置的JS方法,用來自定義提示信息

原來可以通過 oninvalid 和 setCustomValidity 來自定義提示, 那這就好辦了, 修改源代碼如下:


 !DOCTYPE html  html lang= en  head  meta charset= UTF-8  title Test /title  /head  body  form action=  label  數字: input type= text pattern= ^/d{11}$ oninvalid= setCustomValidity( 請輸入11位數字 )  /label  input type= submit  /form  /body  /html 


結果:

終于不是那個蛋疼的 格式 了, 現在表單驗證提示已經很明確的告訴我們, 這里應該輸入的是什么樣的數據, 這樣用戶就能更好的修改自己的輸入了!

相關推薦:

h5表單介紹和表單驗證失敗問題實例

laravel表單驗證失敗 如何防止原表單數據都被清空?

JavaScript實現表單驗證功能的簡單示例

以上就是HTML5 表單驗證失敗的提示語問題的詳細內容,其它編程語言

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 昌都县| 上犹县| 陆丰市| 北碚区| 河北省| 工布江达县| 顺昌县| 祁阳县| 泸溪县| 宜州市| 仪陇县| 眉山市| 永康市| 饶河县| 密山市| 博罗县| 鄂州市| 凤山县| 湘乡市| 荆州市| 五寨县| 襄城县| 互助| 柳江县| 巴林右旗| 雅安市| 白山市| 托克托县| 绍兴县| 唐河县| 滨海县| 长丰县| 集贤县| 丹寨县| 海口市| 贺兰县| 关岭| 前郭尔| 五台县| 潼关县| 岚皋县|