国产探花免费观看_亚洲丰满少妇自慰呻吟_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 表單驗證失敗的提示語問題的詳細內容,其它編程語言

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 红安县| 伊春市| 静乐县| 镶黄旗| 廉江市| 新民市| 通州区| 晋州市| 三门峡市| 澄江县| 肥乡县| 延长县| 洱源县| 沂水县| 抚宁县| 宜宾市| 马山县| 蒙自县| 平塘县| 来凤县| 天长市| 鹿泉市| 洪洞县| 乐安县| 霍林郭勒市| 徐闻县| 顺昌县| 永靖县| 柞水县| 汝南县| 陵水| 江门市| 英吉沙县| 海原县| 华坪县| 迁西县| 永靖县| 吕梁市| 石柱| 高陵县| 神木县|