摘要:瀏覽文檔,發(fā)現(xiàn)插件特別適合做表單校驗(yàn)出錯(cuò)的提示。因?yàn)槭沟姆浅nl繁,最近把它封住下,做成的插件。通過(guò)本插件,在標(biāo)簽中定義好校驗(yàn)正則錯(cuò)誤信息即可。點(diǎn)擊提交時(shí),如果有表單項(xiàng)目不合法,會(huì)阻止表單繼續(xù)提交。最后調(diào)整下,就實(shí)現(xiàn)了截圖的效果。
最近的項(xiàng)目,用Bootstrap比較多。瀏覽Bootstrap文檔,發(fā)現(xiàn) popover 插件特別適合做表單校驗(yàn)出錯(cuò)的提示。
因?yàn)槭沟姆浅nl繁,最近把它封住下,做成 jQuery的插件。 通過(guò) 本插件,在 html標(biāo)簽中 定義好 data-vaild="校驗(yàn)正則" data-errmsg="錯(cuò)誤信息即可"。為什么 要把 校驗(yàn)規(guī)則 寫(xiě)到 html 標(biāo)簽中呢?因?yàn)?我還用它做了 后臺(tái) 的校驗(yàn)規(guī)則和提示(后臺(tái)沒(méi)用Node,現(xiàn)在用的ASP,忙完專門再發(fā)文寫(xiě)下原理)。
演示地址:點(diǎn)擊查看演示
最終實(shí)現(xiàn)的效果如下:
插件代碼如下:
"use strict"; /* jQuery+Bootstrap 校驗(yàn)表單 by Miaoqiyuan.cn 原理:http://www.miaoqiyuan.cn/p/jquery-bootstrap-vaild 演示:http://www.miaoqiyuan.cn/products/vaild/index.html 源碼:http://www.miaoqiyuan.cn/products/vaild/jQuery.Vaild.js */ (function(jQuery){ $.extend({ Vaild : function(_this){ if( !!$(_this).data("vaild") ){ var pattern = new RegExp($(_this).data("vaild")); if( pattern.test( $(_this).val() ) ){ $(_this).parent().removeClass("has-error").addClass("has-success"); $(_this).popover("destroy"); }else{ $(_this).parent().addClass("has-error").removeClass("has-success"); $(_this).data("toogle", "top").data("placement", "top").data("container", "body").data("content", $(_this).data("errmsg")).popover({"trigger":"manual"}).popover("show"); return false; } }else{ $(_this).parent().addClass("has-success"); } return true; } }); $.fn.extend({ Vaild : function(){ $(this).each(function(index, _this){ $(_this).submit(function(){ var checkResult = true; for(var i = 0 ; i < _this.length; i++ ){ checkResult = $.Vaild(_this[i]) && checkResult; } return checkResult; }); for(var i = 0 ; i < _this.length; i++ ){ $(_this[i]).blur(function(){ $.Vaild(this); }); } }); } }); })(jQuery);調(diào)用的時(shí)候非常簡(jiǎn)單,直接使用以下代碼:
當(dāng)表單失去焦點(diǎn)時(shí),如果不合法,會(huì)直接提示錯(cuò)誤。點(diǎn)擊提交時(shí),如果有表單項(xiàng)目不合法,會(huì)阻止表單繼續(xù)提交。
popoover默認(rèn)的背景是 白色的,不能起到 警示作用,而且 padding 設(shè)置過(guò)大,太占用空間了。 最后調(diào)整下CSS,就實(shí)現(xiàn)了 截圖的效果。
/*重構(gòu) popover */ .popover{background:#C00;color:#FFF;} .popover .popover-content{padding:1px 5px;} .popover.top>.arrow:after{border-top-color:#C00;} /*重構(gòu) bootstrap 默認(rèn)錯(cuò)誤提示 */ .has-error input, .has-error textarea, .has-error select{background-color:#F2DEDE;} .has-success input, .has-success textarea, .has-success select{background-color:#DFF0D8}
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/80222.html
摘要:此外,本例還使用到了相關(guān)文件。制作個(gè)性化的九宮格圖本圖將品牌字母融入其中,同時(shí)包含了網(wǎng)站三大特色業(yè)務(wù)借換購(gòu)。此外,還有個(gè)問(wèn)題。 作者的話: 基于patternLock插件實(shí)現(xiàn)九宮格登陸校驗(yàn)功能。其亮點(diǎn)在于摒棄傳統(tǒng)校驗(yàn)方式同時(shí)融合產(chǎn)品文化。同上一篇文章一樣,本次實(shí)現(xiàn)功能剝離至本人15年畢設(shè)項(xiàng)目《ReBook》。下面介紹主要思路,詳情請(qǐng)戳后面源碼鏈接。 效果圖: 左側(cè):九宮格滑動(dòng)區(qū)域,右側(cè)...
摘要:此外,本例還使用到了相關(guān)文件。制作個(gè)性化的九宮格圖本圖將品牌字母融入其中,同時(shí)包含了網(wǎng)站三大特色業(yè)務(wù)借換購(gòu)。此外,還有個(gè)問(wèn)題。 作者的話: 基于patternLock插件實(shí)現(xiàn)九宮格登陸校驗(yàn)功能。其亮點(diǎn)在于摒棄傳統(tǒng)校驗(yàn)方式同時(shí)融合產(chǎn)品文化。同上一篇文章一樣,本次實(shí)現(xiàn)功能剝離至本人15年畢設(shè)項(xiàng)目《ReBook》。下面介紹主要思路,詳情請(qǐng)戳后面源碼鏈接。 效果圖: 左側(cè):九宮格滑動(dòng)區(qū)域,右側(cè)...
摘要:規(guī)范名稱定義,便于維護(hù)。譬如關(guān)于的定義在格式化的中會(huì)聲明為,而在基本樣式的中又可能會(huì)聲明所以在中會(huì)出現(xiàn)多次定義。盡量減少連接數(shù)和的大小。基于版本的使用目前使用較廣的是版本和,其中的最新版本是的最新版本。 隨著CSS3和HTML5的流行,我們的WEB頁(yè)面不僅需要更人性化的設(shè)計(jì)理念,而且需要更酷的頁(yè)面特效和用戶體驗(yàn)。作為開(kāi)發(fā)者,我們需要了解一些寶貴的CSS UI開(kāi)源框架資源,它們可以幫助我...
摘要:規(guī)范名稱定義,便于維護(hù)。譬如關(guān)于的定義在格式化的中會(huì)聲明為,而在基本樣式的中又可能會(huì)聲明所以在中會(huì)出現(xiàn)多次定義。盡量減少連接數(shù)和的大小。基于版本的使用目前使用較廣的是版本和,其中的最新版本是的最新版本。 隨著CSS3和HTML5的流行,我們的WEB頁(yè)面不僅需要更人性化的設(shè)計(jì)理念,而且需要更酷的頁(yè)面特效和用戶體驗(yàn)。作為開(kāi)發(fā)者,我們需要了解一些寶貴的CSS UI開(kāi)源框架資源,它們可以幫助我...
摘要:規(guī)范名稱定義,便于維護(hù)。譬如關(guān)于的定義在格式化的中會(huì)聲明為,而在基本樣式的中又可能會(huì)聲明所以在中會(huì)出現(xiàn)多次定義。盡量減少連接數(shù)和的大小。基于版本的使用目前使用較廣的是版本和,其中的最新版本是的最新版本。 隨著CSS3和HTML5的流行,我們的WEB頁(yè)面不僅需要更人性化的設(shè)計(jì)理念,而且需要更酷的頁(yè)面特效和用戶體驗(yàn)。作為開(kāi)發(fā)者,我們需要了解一些寶貴的CSS UI開(kāi)源框架資源,它們可以幫助我...
閱讀 2562·2023-04-25 18:13
閱讀 770·2021-11-22 12:10
閱讀 2970·2021-11-22 11:57
閱讀 2138·2021-11-19 11:26
閱讀 2164·2021-09-22 15:40
閱讀 1460·2021-09-03 10:28
閱讀 2704·2019-08-30 15:53
閱讀 1950·2019-08-30 15:44