亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Bootstrap簡(jiǎn)單實(shí)用的表單驗(yàn)證插件BootstrapValidator用法實(shí)例詳解

 更新時(shí)間:2020年03月29日 11:29:11   作者:一枕江風(fēng)  
這篇文章主要介紹了Bootstrap簡(jiǎn)單實(shí)用的表單驗(yàn)證插件BootstrapValidator用法,結(jié)合實(shí)例形式詳細(xì)分析了Bootstrap表單驗(yàn)證插件BootstrapValidator基本功能、原理、用法及操作注意事項(xiàng),需要的朋友可以參考下

本文實(shí)例講述了Bootstrap簡(jiǎn)單實(shí)用的表單驗(yàn)證插件BootstrapValidator用法。分享給大家供大家參考,具體如下:

Bootstrap是現(xiàn)在非常流行的一款前端框架,這篇來(lái)介紹一款基于Bootstrap的驗(yàn)證插件BootstrapValidator。

先來(lái)看一下效果圖(樣式是不是還不錯(cuò)O(∩_∩)O哈哈~)。

Bootstrapvalidator下載地址:https://github.com/nghuuphuoc/bootstrapvalidator/?

引入對(duì)應(yīng)的CSS和JS

<link rel="stylesheet" type="text/css" href="css/bootstrap.css" rel="external nofollow" />
<link rel="stylesheet" type="text/css" href="css/bootstrapValidator.css" rel="external nofollow" />
<script src="js/jquery-1.10.2.min.js" type="text/javascript"></script>
<script src="js/bootstrap.js" type="text/javascript"></script>
<script src="js/bootstrapValidator.js"></script>

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

使用HTML添加驗(yàn)證。

對(duì)某一個(gè)標(biāo)簽添加驗(yàn)證規(guī)則,需要放在<div class="form-group"></div>標(biāo)簽中,input標(biāo)簽必須有name屬性值,此值為驗(yàn)證匹配的字段。其實(shí)就是要符合bootstrap表單結(jié)構(gòu)。

<div class="form-group">
  <label class="col-md-2 control-label">學(xué)號(hào)</label>
  <div class="col-md-6">
    <input type="text" class="form-control" name="stuNumber" data-bv-notempty="true" data-bv-notempty-message="用戶名不能為空" />
  </div>
</div>

初始化bootstrapValidator。

<script type="text/javascript">
$('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ì)象
  }
});
</script>

效果圖。

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

使用JS添加驗(yàn)證

HTML樣式代碼。

<div class="form-group">
  <label class="col-md-2 control-label">姓名</label>
  <div class="col-md-6">
    <input type="text" class="form-control" name="name" />
  </div>
</div>
<div class="form-group">
  <label class="col-md-2 control-label">年齡</label>
  <div class="col-md-6">
    <input type="text" class="form-control" name="age" />
  </div>
</div>
<div class="form-group">
  <label class="col-md-2 control-label">電話</label>
  <div class="col-md-6">
    <input type="text" class="form-control" name="phoneNumber" />
  </div>
</div>
<div class="form-group">
  <label class="col-md-2 control-label">Email</label>
  <div class="col-md-6">
    <input type="text" class="form-control" name="email" />
  </div>
</div>
<div class="form-group">
  <label class="col-md-2 control-label">密碼</label>
  <div class="col-md-6">
    <input type="text" class="form-control" name="pwd" />
  </div>
</div>
<div class="form-group">
  <label class="col-md-2 control-label">確定密碼</label>
  <div class="col-md-6">
    <input type="text" class="form-control" name="pwd1" />
  </div>
</div>

JS驗(yàn)證代碼,其中fields屬性中的值,需要和HTML標(biāo)簽中的name值一樣,確定給那個(gè)標(biāo)簽添加驗(yàn)證。

<script type="text/javascript">
  $('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: '用戶名不能為空'
          },
          remote: {  //后臺(tái)驗(yàn)證,比如查詢用戶名是否存在
            url: 'student/verifyUsername',
            message: '此用戶名已存在'
          }
        }
      },
      name: {
        message: '姓名驗(yàn)證失敗',
        validators: {
          notEmpty: {
            message: '姓名不能為空'
          }
        }
      },
      age: {
        message: '年齡驗(yàn)證失敗',
        validators: {
          notEmpty: {
            message: '年齡不能為空'
          },
          numeric: {
            message: '請(qǐng)?zhí)顚?xiě)數(shù)字'
          }
        }
      },
      phoneNumber: {
        message: '電話號(hào)驗(yàn)證失敗',
        validators: {
          notEmpty: {
            message: '電話號(hào)不能為空'
          },
          regexp: {  //正則驗(yàn)證
            regexp: /^1\d{10}$/,
            message: '請(qǐng)輸入正確的電話號(hào)'
          }
        }
      },
      email: {
        message: 'Email驗(yàn)證失敗',
        validators: {
          notEmpty: {
            message: 'Email不能為空'
          },
          emailAddress: {   //驗(yàn)證email地址
            message: '不是正確的email地址'
          }
        }
      },
      pwd: {
        notEmpty: {
          message: '密碼不能為空'
        },
        stringLength: {   //檢測(cè)長(zhǎng)度
          min: 4,
          max: 15,
          message: '用戶名需要在4~15個(gè)字符'
        }
      },
      pwd1: {
        message: '密碼驗(yàn)證失敗',
        validators: {
          notEmpty: {
            message: '密碼不能為空'
          },
          identical: {  //與指定控件內(nèi)容比較是否相同,比如兩次密碼不一致
            field: 'pwd',//指定控件name
            message: '兩次密碼不一致'
          }
        }
      }
    }
  });
</script>

效果如下。

AJAX后臺(tái)交互驗(yàn)證,驗(yàn)證用戶名是否存在。

<div class="form-group">
  <label class="col-md-2 control-label">用戶名</label>
  <div class="col-md-6">
    <input type="text" class="form-control" name="username" />
  </div>
</div>
 
<script type="text/javascript">
$('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: '用戶名不能為空'
        },
        remote: {  //后臺(tái)驗(yàn)證,比如查詢用戶名是否存在
          url: 'student/verifyUsername',
          message: '此用戶名已存在'
        }
      }
    }
  }
});
</script>

后臺(tái)驗(yàn)證返回格式必須為{“valid”, true or false} 的json數(shù)據(jù)格式。后臺(tái)verifyUsername驗(yàn)證判斷方法。

@RequestMapping(value="/verifyUsername")
@ResponseBody
public Map verifyUsername(String username){
  Student stu = studentService.findByUsername(username);
  Map map = new HashMap();
  if (stu == null) {
    map.put("valid", true);
  }else{
    map.put("valid", false);
  }
  return map;
}

效果如下。

下面是幾個(gè)比較常見(jiàn)的驗(yàn)證規(guī)則。

  • notEmpty:非空驗(yàn)證;
  • stringLength:字符串長(zhǎng)度驗(yàn)證;
  • regexp:正則表達(dá)式驗(yàn)證;
  • emailAddress:郵箱地址驗(yàn)證(都不用我們?nèi)?xiě)郵箱的正則了~~)
  • base64:64位編碼驗(yàn)證;
  • between:驗(yàn)證輸入值必須在某一個(gè)范圍值以內(nèi),比如大于10小于100;
  • creditCard:身份證驗(yàn)證;
  • date:日期驗(yàn)證;
  • ip:IP地址驗(yàn)證;
  • numeric:數(shù)值驗(yàn)證;
  • url:url驗(yàn)證;
  • callback:自定義驗(yàn)證
  • Form表單的提交

關(guān)于提交,可以直接用form表單提交即可。

<div class="form-group">
  <div class="col-md-6 col-md-offset-2">
    <button id="btn" type="submit" class="btn btn-primary">提交</button>
  </div>
</div>

也可以通過(guò)AJAX提交,提交按鈕代碼和form表單的提交按鈕代碼一樣,通過(guò)id選中按鈕綁定點(diǎn)擊事件提交。

$("#btn").click(function () {  //非submit按鈕點(diǎn)擊后進(jìn)行驗(yàn)證,如果是submit則無(wú)需此句直接驗(yàn)證
  $("form").bootstrapValidator('validate');  //提交驗(yàn)證
  if ($("form").data('bootstrapValidator').isValid()) {  //獲取驗(yàn)證結(jié)果,如果成功,執(zhí)行下面代碼
    alert("yes");  //驗(yàn)證成功后的操作,如ajax
  }
});

效果圖,這里驗(yàn)證通過(guò)后通過(guò)彈框提示的,方法中可以寫(xiě)AJAX提交代碼。

頁(yè)面完整代碼。

<meta charset="UTF-8">
<form action="" class="form-horizontal">
  <div class="form-group">
    <label class="col-md-2 control-label">學(xué)號(hào)</label>
    <div class="col-md-6">
      <input type="text" class="form-control" name="stuNumber" data-bv-notempty="true" data-bv-notempty-message="用戶名不能為空" />
    </div>
  </div>
  <div class="form-group">
    <label class="col-md-2 control-label">用戶名</label>
    <div class="col-md-6">
      <input type="text" class="form-control" name="username" />
    </div>
  </div>
  <div class="form-group">
    <label class="col-md-2 control-label">姓名</label>
    <div class="col-md-6">
      <input type="text" class="form-control" name="name" />
    </div>
  </div>
  <div class="form-group">
    <label class="col-md-2 control-label">年齡</label>
    <div class="col-md-6">
      <input type="text" class="form-control" name="age" />
    </div>
  </div>
  <div class="form-group">
    <label class="col-md-2 control-label">電話</label>
    <div class="col-md-6">
      <input type="text" class="form-control" name="phoneNumber" />
    </div>
  </div>
  <div class="form-group">
    <label class="col-md-2 control-label">Email</label>
    <div class="col-md-6">
      <input type="text" class="form-control" name="email" />
    </div>
  </div>
  <div class="form-group">
    <label class="col-md-2 control-label">密碼</label>
    <div class="col-md-6">
      <input type="text" class="form-control" name="pwd" />
    </div>
  </div>
  <div class="form-group">
    <label class="col-md-2 control-label">確定密碼</label>
    <div class="col-md-6">
      <input type="text" class="form-control" name="pwd1" />
    </div>
  </div>
  <div class="form-group">
    <div class="col-md-6 col-md-offset-2">
      <button id="btn" type="submit" class="btn btn-primary">提交</button>
    </div>
  </div>
</form>
 
<script type="text/javascript">
  $(function () {
    $('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: '用戶名不能為空'
            },
            remote: {  //后臺(tái)驗(yàn)證,比如查詢用戶名是否存在
              url: 'student/verifyUsername',
              message: '此用戶名已存在'
            }
          }
        },
        name: {
          message: '姓名驗(yàn)證失敗',
          validators: {
            notEmpty: {
              message: '姓名不能為空'
            }
          }
        },
        age: {
          message: '年齡驗(yàn)證失敗',
          validators: {
            notEmpty: {
              message: '年齡不能為空'
            },
            numeric: {
              message: '請(qǐng)?zhí)顚?xiě)數(shù)字'
            }
          }
        },
        phoneNumber: {
          message: '電話號(hào)驗(yàn)證失敗',
          validators: {
            notEmpty: {
              message: '電話號(hào)不能為空'
            },
            regexp: {  //正則驗(yàn)證
              regexp: /^1\d{10}$/,
              message: '請(qǐng)輸入正確的電話號(hào)'
            }
          }
        },
        email: {
          message: 'Email驗(yàn)證失敗',
          validators: {
            notEmpty: {
              message: 'Email不能為空'
            },
            emailAddress: {   //驗(yàn)證email地址
              message: '不是正確的email地址'
            }
          }
        },
        pwd: {
          notEmpty: {
            message: '密碼不能為空'
          },
          stringLength: {   //檢測(cè)長(zhǎng)度
            min: 4,
            max: 15,
            message: '用戶名需要在4~15個(gè)字符'
          }
        },
        pwd1: {
          message: '密碼驗(yàn)證失敗',
          validators: {
            notEmpty: {
              message: '密碼不能為空'
            },
            identical: {  //與指定控件內(nèi)容比較是否相同,比如兩次密碼不一致
              field: 'pwd',//指定控件name
              message: '兩次密碼不一致'
            }
          }
        }
      }
    });
 
    $("#btn").click(function () {  //非submit按鈕點(diǎn)擊后進(jìn)行驗(yàn)證,如果是submit則無(wú)需此句直接驗(yàn)證
      $("form").bootstrapValidator('validate');  //提交驗(yàn)證
      if ($("form").data('bootstrapValidator').isValid()) {  //獲取驗(yàn)證結(jié)果,如果成功,執(zhí)行下面代碼
        alert("yes");  //驗(yàn)證成功后的操作,如ajax
      }
    });
  })
</script>

到這里,BootstrapValidator驗(yàn)證插件的方法已經(jīng)寫(xiě)的很全面了。不足地方歡迎大家下方留言指出!

可以使用在線HTML/CSS/JavaScript代碼運(yùn)行工具http://tools.jb51.net/code/HtmlJsRun測(cè)試上述代碼運(yùn)行效果。

PS:關(guān)于bootstrap布局,這里再為大家推薦一款本站的在線可視化布局工具供大家參考使用:

在線bootstrap可視化布局編輯工具:
http://tools.jb51.net/aideddesign/layoutit

希望本文所述對(duì)大家基于bootstrap的程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • javascript高級(jí)程序設(shè)計(jì)第二版第十二章事件要點(diǎn)總結(jié)(常用的跨瀏覽器檢測(cè)方法)

    javascript高級(jí)程序設(shè)計(jì)第二版第十二章事件要點(diǎn)總結(jié)(常用的跨瀏覽器檢測(cè)方法)

    javascript高級(jí)程序設(shè)計(jì)第二版第十二章事件要點(diǎn)總結(jié)(常用的跨瀏覽器檢測(cè)方法),需要的朋友可以參考下
    2012-08-08
  • 利用webpack理解CommonJS和ES Modules的差異區(qū)別

    利用webpack理解CommonJS和ES Modules的差異區(qū)別

    這篇文章主要介紹了利用webpack理解CommonJS和ES Modules的差異區(qū)別,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • 增強(qiáng)的 JavaScript 的 trim 函數(shù)的代碼

    增強(qiáng)的 JavaScript 的 trim 函數(shù)的代碼

    增強(qiáng)的 JavaScript 的 trim 函數(shù)的代碼...
    2007-08-08
  • JavaScript將數(shù)組轉(zhuǎn)換為鏈表的方法

    JavaScript將數(shù)組轉(zhuǎn)換為鏈表的方法

    這篇文章主要介紹了JavaScript將數(shù)組轉(zhuǎn)換為鏈表的方法,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-02-02
  • JavaScript實(shí)現(xiàn)垂直向上無(wú)縫滾動(dòng)特效代碼

    JavaScript實(shí)現(xiàn)垂直向上無(wú)縫滾動(dòng)特效代碼

    下面小編就為大家?guī)?lái)一篇JavaScript實(shí)現(xiàn)垂直向上無(wú)縫滾動(dòng)特效代碼。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-11-11
  • JavaScript中this的四個(gè)綁定規(guī)則總結(jié)

    JavaScript中this的四個(gè)綁定規(guī)則總結(jié)

    相信大家都知道,ES5及之前時(shí)代的JavaScript中this的綁定機(jī)制是讓很多開(kāi)發(fā)者頭疼不已的事情。this 的綁定變化多端,讓筆者也吃了不少虧。所以本文總結(jié)了this的四條綁定規(guī)則,在此記錄,以防自己遺忘,也方便他人參考借鑒。下面來(lái)一起看看吧。
    2016-09-09
  • JS模擬的騰訊微博app撕紙效果的實(shí)例代碼

    JS模擬的騰訊微博app撕紙效果的實(shí)例代碼

    本來(lái)想用css3來(lái)實(shí)現(xiàn),但后來(lái)腦袋一熱就用了js,省的別人你ie怎么沒(méi)效果?。≡隍v訊微博app上看到的一個(gè)效果,鼠標(biāo)擊哪里就撕了哪里,跟撕報(bào)紙似的,任意點(diǎn)擊左邊面的灰色區(qū)域,查看效果,當(dāng)時(shí)覺(jué)得很有意思,問(wèn)了下高人,突然覺(jué)悟了,原來(lái)如此。。
    2013-05-05
  • Javascript控制input輸入時(shí)間格式的方法

    Javascript控制input輸入時(shí)間格式的方法

    這篇文章主要介紹了Javascript控制input輸入時(shí)間格式的方法,涉及鼠標(biāo)事件及正則表達(dá)式的靈活應(yīng)用,需要的朋友可以參考下
    2015-01-01
  • JavaScript中關(guān)聯(lián)原型鏈屬性特性

    JavaScript中關(guān)聯(lián)原型鏈屬性特性

    這篇文章主要介紹了JavaScript中關(guān)聯(lián)原型鏈屬性特性的相關(guān)資料,需要的朋友可以參考下
    2016-02-02
  • 詳解JavaScript中JSON.stringify方法

    詳解JavaScript中JSON.stringify方法

    JSON 對(duì)象是我們經(jīng)常使用的一種數(shù)據(jù)存儲(chǔ)對(duì)象,它的適用范圍非常廣,JSON.stringify 方法可以幫我們把一個(gè)對(duì)象或數(shù)組轉(zhuǎn)換成一個(gè) JSON字符串,本文我們給大家詳細(xì)介紹一下JavaScript中JSON.stringify方法,需要的朋友可以參考下
    2023-09-09

最新評(píng)論