91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

HTML5實戰應用:如何讓表單驗證更友好

發布時間:2020-06-22 00:57:23 來源:網絡 閱讀:532 作者:Web前端師 欄目:移動開發

HTML5實戰應用:如何讓表單驗證更友好


HTML5表單驗證給前端人員帶來了便利,但是在用戶體驗上存在一些缺陷,默認的提示對用戶很不友好,無法準確的獲取想要的信息。好在大牛們在接口設計的時候提供了setCustomValidilty方法可以自定義提示信息。這是一個好消息,但也存在一些弊端,需要讓開人員做額外的一些處理才達到真正想要的目的。


接下來通過以下示例來闡述方法的應用。


未調用setCustomValidity)方法!DOCTYPE html>  


 html


 hea


     ata charset="utf-8  


     titleform test/title>  


 /head  


 body  


     form name="test action="" method="post>  


        input type="text" required pattern="^\d{4[        DISCUZ_CODE_21        ]quot; placeholder="請輸入代碼" >  


         button type="submit">Check/button>  


     /form>  


 /body>  


 /html> 


復制代碼執行結果:


A:未輸入數據


B:不匹配


這兩個結果都匹配了。但是不匹配這里的提示方案案與預想的不符合。


通過調用setCustomValidity方法來優化提示文案!DOCTYPE html>  


 html>  


 head>  


     mata charset="utf-8">  


     title>form test/title>  


 /head>  


 body>  


     form name="test" action="." method="post">  


         input type="text" required pattern="^\d{4}[        DISCUZ_CODE_22        ]quo; placeholder="請輸入代碼" >  


         button type="submit">Check/button>  


     /form>  


 script type="text/javascript">  


     document.querySelector"input").setCustomValidity("請輸入4位數字的代碼");  


 /script>  


 /body>  


/html> 復制代碼執行結果:


A:為空


B:不合法


C:合法


從三個操作來看,調用了setCustomValidity方法后,原生的表單驗證羅輯都返回false了。悲劇。


再看看接口屬性的變化


調用之前:


A)


B)


C)


調用之后:


A)


B)


C)


從上面的截圖可以看到validationMessage沒清空,valueMissing和patternMismatch都已經驗證通了。


總結一下:


從面上可以看出,驗證通過與否除了跟validity接口下的屬性相關外,還跟validationMessage是否有值有關系。只有當validity接口下的屬性(customError除外)都為false并且validationMessage為空時才算驗證通過。


優化后的代碼:!DOCTYPE html>  


 html>  


 head>  


     mata charset="utf-8">  


     title>form test/title>  


 /head>      


 body>  


     form name="test" action="." method="post">  


         input type="text" required pattern="^\d{4}[        DISCUZ_CODE_23        ]quot; oninput="out(this)" placeholder="請輸入代碼" >  


         button type="submit">Check/button>  


     /form>  


 script type="text/javascript">  


 function out(i){  


     var v=i.validity;  


     if(true===v.valueMessing){  


         i.setCustomValidity("請填寫些字段");  


     }else{  


         if(true===v.patternMismatch){  


             i.setCustomValidity("請輸入4位數字的代碼");  


         }else{  


             i.setCustomValidity("");  


         }  


     }  


 }  


 /script>  


 /body>  


 /html> 


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

兴海县| 长治市| 九寨沟县| 平度市| 年辖:市辖区| 沙河市| 神木县| 洪湖市| 汽车| 兴化市| 达日县| 尚志市| 炉霍县| 阿勒泰市| 连江县| 宁陵县| 华阴市| 桦川县| 普陀区| 宜兴市| 辉南县| 图们市| 宣化县| 新疆| 英德市| 布拖县| 奉节县| 江西省| 芮城县| 盐池县| 梁山县| 沁源县| 高唐县| 浪卡子县| 四会市| 巨鹿县| 阳新县| 新竹市| 贡嘎县| 涿鹿县| 射阳县|