BootstrapValidator使用教程

一.首先引入BootstrapValidator插件

  • BootstrapValidator插件需要jQuery和Bootstrap 3
  • 引入js和css文件
<link rel="stylesheet" href="/path/to/bootstrap/css/bootstrap.css"/>
<link rel="stylesheet" href="/path/to/dist/css/bootstrapValidator.min.css"/>

<script type="text/javascript" src="/path/to/jquery/jquery-1.10.2.min.js"></script>
<script type="text/javascript" src="/path/to/bootstrap/js/bootstrap.min.js"></script>
<!-- 使用壓縮過(guò)的版本-->
<script type="text/javascript" src="/path/to/dist/js/bootstrapValidator.min.js"></script>
<!-- 使用包含所有驗(yàn)證器的未壓縮版本 -->
<script type="text/javascript" src="/path/to/dist/js/bootstrapValidator.js"></script>

二.添加驗(yàn)證規(guī)則

1.使用HTML添加簡(jiǎn)單驗(yàn)證

  • 如果想對(duì)某一個(gè)字段添加驗(yàn)證規(guī)則啦租,需要<div class="form-group"></div>包裹季春,input標(biāo)簽必須有name值,此值為驗(yàn)證匹配的字段冒窍。其實(shí)就是要符合bootstrap表單結(jié)構(gòu)
<div class="form-group">
    <label for="exampleInputEmail1">Email address</label>
    <input type="email" name="email" class="form-control" id="exampleInputEmail1" placeholder="Email" 
    data-bv-notempty="true" 
    data-bv-notempty-message="不能為空">
  </div>

初始化bootstrapValidator,submitHandler 屬性后面會(huì)介紹到

$('#AppForm').bootstrapValidator({
      submitHandler: function (validator, form, submitButton) {
         // validator: 表單驗(yàn)證實(shí)例對(duì)象
         // form  jq對(duì)象  指定表單對(duì)象
         // submitButton  jq對(duì)象  指定提交按鈕的對(duì)象
         var tourl="{:U('Admin/User/userSet')}";
         var data=$('#AppForm').serialize();
         var id = $('input[name=id]').val();
         // 使用ajax發(fā)送表達(dá)數(shù)據(jù)
         $.App.ajax('post',tourl,data,null);
         return false;
      }
})

使用data-bv-notempty 和 data-bv-notempty-message屬性就可以簡(jiǎn)單進(jìn)行非空驗(yàn)證减响。data-bv-notempty 有值就進(jìn)行非空驗(yàn)證脚囊,data-bv-notempty-message 中的值為提示消息

2.使用js添加驗(yàn)證

$('form').bootstrapValidator({
      // 默認(rèn)的提示消息
      message: 'This value is not valid',
      // 表單框里右側(cè)的icon
      feedbackIcons: {
                valid: 'glyphicon glyphicon-ok',
                invalid: 'glyphicon glyphicon-remove',
                validating: 'glyphicon glyphicon-refresh'
      },
      submitHandler: function (validator, form, submitButton) {
        // 表單提交成功時(shí)會(huì)調(diào)用此方法
        // validator: 表單驗(yàn)證實(shí)例對(duì)象
        // form  jq對(duì)象  指定表單對(duì)象
        // submitButton  jq對(duì)象  指定提交按鈕的對(duì)象
      },
      fields: {
        username: {
          message: '用戶名驗(yàn)證失敗',
          validators: {
            notEmpty: {
              message: '用戶名不能為空'
            },
            stringLength: {  //長(zhǎng)度限制
              min: 6,
              max: 18,
              message: '用戶名長(zhǎng)度必須在6到18位之間'
            },
            regexp: { //正則表達(dá)式
              regexp: /^[a-zA-Z0-9_]+$/,
              message: '用戶名只能包含大寫(xiě)芦拿、小寫(xiě)士飒、數(shù)字和下劃線'
            },
            different: {  //比較
              field: 'username', //需要進(jìn)行比較的input name值
              message: '密碼不能與用戶名相同'
            },
            identical: {  //比較是否相同
              field: 'password',  //需要進(jìn)行比較的input name值
              message: '兩次密碼不一致'
            },
            remote: { // ajax校驗(yàn)查邢,獲得一個(gè)json數(shù)據(jù)({'valid': true or false})
              url: 'user.php',       //驗(yàn)證地址
              message: '用戶已存在',   //提示信息
              type: 'POST',          //請(qǐng)求方式
              data: function(validator){  //自定義提交數(shù)據(jù),默認(rèn)為當(dāng)前input name值
                return {
                  act: 'is_registered',
                  username: $("input[name='username']").val()
                };
              }
            }
          }
        },
        email: {
          validators: {
            notEmpty: {
              message: '郵箱地址不能為空'
            },
            emailAddress: {
              message: '郵箱地址格式有誤'
            }
          }
        }
      }
    });

可以看到酵幕,validators屬性對(duì)應(yīng)一個(gè)Json對(duì)象扰藕,里面可以包含多個(gè)驗(yàn)證的類(lèi)型。我在 username 的 validators 里添加了很多屬性芳撒,這些都是一些常用的屬性方法邓深,按需添加。

我自定義的正則校驗(yàn)笔刹,??與上面代碼不是對(duì)應(yīng)的芥备,大家自己根據(jù)自己需求寫(xiě)正則

上面代碼中 emailAddress 是郵箱地址驗(yàn)證,都不用我們?nèi)?xiě)郵箱的正則了徘熔。除此之外還有46個(gè)其他的驗(yàn)證類(lèi)型门躯,大家自己去看文檔。再貼幾個(gè)常見(jiàn)的酷师。

  • between: 驗(yàn)證輸入值必須在某一個(gè)范圍值內(nèi)讶凉,比如大于1小于10
  • creditCard: 身份證驗(yàn)證
  • date: 日期驗(yàn)證
  • ip: IP地址驗(yàn)證
  • numeric: 數(shù)值驗(yàn)證
  • phone: 電話號(hào)碼驗(yàn)證
  • url驗(yàn)證
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市山孔,隨后出現(xiàn)的幾起案子懂讯,更是在濱河造成了極大的恐慌,老刑警劉巖台颠,帶你破解...
    沈念sama閱讀 217,657評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件褐望,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡串前,警方通過(guò)查閱死者的電腦和手機(jī)瘫里,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,889評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)荡碾,“玉大人谨读,你說(shuō)我怎么就攤上這事√秤酰” “怎么了劳殖?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,057評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)拨脉。 經(jīng)常有香客問(wèn)我哆姻,道長(zhǎng),這世上最難降的妖魔是什么玫膀? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,509評(píng)論 1 293
  • 正文 為了忘掉前任矛缨,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘劳景。我一直安慰自己誉简,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,562評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布盟广。 她就那樣靜靜地躺著,像睡著了一般瓮钥。 火紅的嫁衣襯著肌膚如雪筋量。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,443評(píng)論 1 302
  • 那天碉熄,我揣著相機(jī)與錄音桨武,去河邊找鬼。 笑死锈津,一個(gè)胖子當(dāng)著我的面吹牛呀酸,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播琼梆,決...
    沈念sama閱讀 40,251評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼性誉,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了茎杂?” 一聲冷哼從身側(cè)響起错览,我...
    開(kāi)封第一講書(shū)人閱讀 39,129評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎煌往,沒(méi)想到半個(gè)月后倾哺,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,561評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡刽脖,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,779評(píng)論 3 335
  • 正文 我和宋清朗相戀三年羞海,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片曲管。...
    茶點(diǎn)故事閱讀 39,902評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡却邓,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出翘地,到底是詐尸還是另有隱情申尤,我是刑警寧澤,帶...
    沈念sama閱讀 35,621評(píng)論 5 345
  • 正文 年R本政府宣布衙耕,位于F島的核電站昧穿,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏橙喘。R本人自食惡果不足惜时鸵,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,220評(píng)論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧饰潜,春花似錦初坠、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,838評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至薯酝,卻和暖如春半沽,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背吴菠。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,971評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工者填, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人做葵。 一個(gè)月前我還...
    沈念sama閱讀 48,025評(píng)論 2 370
  • 正文 我出身青樓占哟,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親酿矢。 傳聞我的和親對(duì)象是個(gè)殘疾皇子榨乎,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,843評(píng)論 2 354