jQuery Validate自定義錯誤資訊顯示位置
程式碼例項如下:
[HTML] 純文字檢視 複製程式碼執行程式碼<!doctype html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style> ul li{ list-style:none; margin-top:5px; } </style> <script src="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script> <script src="http://www.softwhy.com/demo/jQuery/js/jquery.validate.js"></script> <script src="http://www.softwhy.com/demo/jQuery/js/messages_zh.js"></script> <script> $(document).ready(function () { $("#myform").validate({ rules: { username: "required", pw: "required", email: { required: true, email:true } }, messages: { name: "使用者名稱是必填專案", pw: "密碼是必填專案", email: { required: "郵箱是必填專案", email:"郵箱格式不正確" } } }); }); </script> </head> <body> <form id="myform"> <ul> <li>姓名:<input type="text" name="username"/></li> <li>密碼:<input type="password" name="pw"/></li> <li>郵箱:<input type="text" name="email"/></li> <li> <input type="submit" value="提交"/> <input type="reset" value="重置"/> </li> </ul> </form> </body> </html>
錯誤預設是用label標籤包裹,並且位於對應表單元素的後面,截圖如下:
當然我們也可以自定義錯誤的顯示位置,下面就通過程式碼例項做一下介紹。
一.通過errorPlacement()方法實現:
此方法接受兩個引數,第一個引數是存放錯誤資訊的元素物件,第二個引數是當前表單元素物件。
程式碼例項如下:
[HTML] 純文字檢視 複製程式碼執行程式碼<!doctype html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style> #thetable { font-size:12px; } #thetable td { width:40px; height:30px; line-height:30px; text-align:center; } #thetable tr > td:nth-of-type(3) { width:120px; text-align:left; } </style> <script src="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script> <script src="http://www.softwhy.com/demo/jQuery/js/jquery.validate.js"></script> <script src="http://www.softwhy.com/demo/jQuery/js/messages_zh.js"></script> <script> $(document).ready(function () { $("#myform").validate({ errorPlacement: function(error, element) { error.appendTo(element.parent("td").next("td")); }, rules: { username: "required", pw: "required", email: { required: true, email:true } }, messages: { name: "使用者名稱是必填專案", pw: "密碼是必填專案", email: { required: "郵箱是必填專案", email:"郵箱格式不正確" } } }); }); </script> </head> <body> <form id="myform"> <table id="thetable"> <tr> <td>姓名:</td> <td><input type="text" name="username"/></td> <td></td> </tr> <tr> <td>密碼:</td> <td><input type="password" name="pw" /></td> <td></td> </tr> <tr> <td>郵箱:</td> <td><input type="text" name="email"/></td> <td></td> </tr> <tr> <td colspan="3"> <input type="submit" value="提交"> <input type="reset" value="重置"> </td> </tr> </table> </form> </body> </html>
上面的程式碼實現了我們的要求,可以將錯誤提示資訊放置於每一行的第三個單元格。
errorPlacement()有兩個引數,第一個是接收錯誤資訊的元素物件,第二是對應的表單元素物件。
二.通過配置錯誤元素和錯誤容器實現:
在預設狀態下,錯誤資訊的容器是label元素,並放置於對應表單元素後面。
這些都是可以進行自定義配置的,先看一段程式碼例項:
[HTML] 純文字檢視 複製程式碼執行程式碼<!doctype html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style> #thetable { font-size:12px; } #thetable td { width:40px; height:30px; line-height:30px; text-align:center; } #thetable tr > td:nth-of-type(3) { width:120px; text-align:left; } span.error { color:red } </style> <script src="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script> <script src="http://www.softwhy.com/demo/jQuery/js/jquery.validate.js"></script> <script src="http://www.softwhy.com/demo/jQuery/js/messages_zh.js"></script> <script> $(document).ready(function () { $("#myform").validate({ errorClass: "error", errorElement: "span", wrapper: "li", errorLabelContainer: $("#ant ul"), errorContainer: $("#ant"), rules: { username: "required", pw: "required", email: { required: true, email:true } }, messages: { name: "使用者名稱是必填專案", pw: "密碼是必填專案", email: { required: "郵箱是必填專案", email:"郵箱格式不正確" } } }); }); </script> </head> <body> <div id="ant"> <ul></ul> </div> <form id="myform"> <table id="thetable"> <tr> <td>姓名:</td> <td><input type="text" name="username"/></td> <td></td> </tr> <tr> <td>密碼:</td> <td><input type="password" name="pw" /></td> <td></td> </tr> <tr> <td>郵箱:</td> <td><input type="text" name="email"/></td> <td></td> </tr> <tr> <td colspan="3"> <input type="submit" value="提交"> <input type="reset" value="重置"> </td> </tr> </table> </form> </body> </html>
上面的程式碼實現了我們的要求,下面先對配置資訊做一下介紹:
(1).errorElement:規定資訊放置的元素。
(2).wrapper:規定直接包裹errorElement的元素。
(3).errorLabelContainer:規定包裹wrapper的元素。
(4).errorContainer:包裹錯誤資訊最外層的元素。
(5).errorClass:為errorElement元素新增的樣式類。
內部執行流程:
(1).首先在errorLabelContainer下查詢是否具有errorClass樣式類的label元素(並且此元素的for屬性值等於對應表單元素的name屬性值),如果沒有查詢到,則在當前form元素下查詢;如果查詢到,則將錯誤資訊放置於此label元素中。
(2).如果沒有label元素,那麼建立errorElement規定的元素物件,併為其新增errorClass規定的class樣式類,然後將其用wrapper元素包裹(特別說明:這個時候元素物件僅存在與記憶體之中,還沒有在頁面中顯示);然後在頁面查詢是否存在labelContainer規定的元素,如果存在就將其放置於其中(當然如果也存在errorContainer規定的元素,那麼都放置於此元素之中)。如果頁面中沒有labelContainer規定的元素,那麼使用errorPlacement()方法來規定錯誤資訊的位置。如果上述條件都不滿足,那麼就將錯誤資訊放置於當前表單元素之後。
相關文章
- jQuery Validate自定義驗證錯誤資訊jQuery
- jQuery Validate自定義驗證成功資訊jQuery
- jQuery validate 自定義樣式、規則jQuery
- 自定義 ocelot 中介軟體輸出自定義錯誤資訊
- 如何自定義Struts2表單驗證後的錯誤資訊顯示格式/樣式
- Flask_restful 之 自定義錯誤資訊FlaskREST
- jQuery Validate新增自定義驗證規則jQuery
- MVC驗證06-自定義錯誤資訊MVC
- HTML5 自定義驗證資訊顯示方式HTML
- 快速顯示oracle錯誤號的含義Oracle
- echarts2 tree樹圖自定義顯示縮放大小、位置Echarts
- 自定義來電顯示
- 自定義bmp影像縮放及在lcd螢幕任意位置顯示
- Flask-restful 用法及自定義引數錯誤資訊FlaskREST
- jQuery Validate獲取驗證錯誤的數目jQuery
- 自定義SeekBar顯示進度
- MUI DtPicker 顯示自定義日期UI
- mongoose使用validate驗證, 獲取自定義驗證資訊Go
- Laravel-admin 自定義擴充套件,jQuery 語法錯誤?Laravel套件jQuery
- PHP顯示全部錯誤PHP
- struts 自定義validate 問題
- 自定義OAM錯誤頁面
- 如何自定義終端顯示配置
- Laravel/Lumen 自定義錯誤日誌格式過濾堆疊資訊Laravel
- 【Jquery】jquery 自定義動畫jQuery動畫
- 教你自定義Flutter錯誤頁面Flutter
- 自定義progressBar顯示靜態資料
- 自定義show_space過程來顯示資料段的利用資訊
- # 自定義view————流程位置View
- jQuery滑鼠懸停顯示提示資訊視窗jQuery
- 修正windows下ora錯誤顯示???Windows
- win10藍屏介面不顯示藍屏錯誤資訊怎麼解決_讓Win10藍屏介面顯示藍屏錯誤資訊的步驟Win10
- 【新特性速遞】指定提示資訊的顯示位置(ToolTipPosition)
- [系列] Gin框架 - 自定義錯誤處理框架
- 自定義 RMAN 顯示的日期時間格式
- jQuery Validate驗證除錯開關jQuery除錯
- 控制元件自定義位置控制元件
- win10圖示錯誤顯示怎麼改回來_win10電腦圖示顯示錯誤處理方法Win10