BootstrapValidator超詳細教程(推薦)
一、引入必要文件
下載地址:(https://github.com/nghuuphuoc/bootstrapvalidator/archive/v0.4.5.zip)
<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.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-all.js"></script> // 不帶常用規(guī)則,需自定義規(guī)則 <script type="text/javascript" src="/path/to/dist/js/bootstrapValidator.min.js"></script> //此方法是我編寫常用的自定義規(guī)則的,也可直接寫到對應(yīng)的表單的js中 <script type="text/javascript" src="/path/to/dist/js/validator/atfmCustomValidatorRules.js"></script>
二、編寫HTML
在表單中,若對某一字段想添加驗證規(guī)則,默認需要以<div class=”form-group”></div>包裹(對應(yīng)錯誤提示會根據(jù)該class值定位),內(nèi)部<input class="form-control" />標簽必須有name屬性值,此值為驗證匹配字段。
注:該值不是絕對的,也可以通過js手動指定錯誤提示位置和驗證的輸入框(后續(xù)會講解到)。
<form class="form-horizontal"> <div class="form-group"> <label class="col-lg-3 control-label">Username</label> <div class="col-lg-9"> <input type="text" class="form-control" name="username" /> </div> </div> <div class="form-group"> <label class="col-lg-3 control-label">Email address</label> <div class="col-lg-9"> <input type="text" class="form-control" name="email" /> </div> </div> </form>
三、添加驗證規(guī)則
1、添加到HTML上
<div class="form-group"> <label class="col-lg-3 control-label">Username</label> <div class="col-lg-5"> <input type="text" class="form-control" name="username" data-bv-message="The username is not valid" required data-bv-notempty-message="The username is required and cannot be empty" pattern="[a-zA-Z0-9]+" data-bv-regexp-message="The username can only consist of alphabetical, number" /> </div> </div>
2、添加到j(luò)s上
注:以下參數(shù)上面的賦值都為默認值,不添加該參數(shù)即使用默認值
$(formSelector).bootstrapValidator({ /** * 指定不驗證的情況 * 值可設(shè)置為以下三種類型: * 1、String ':disabled, :hidden, :not(:visible)' * 2、Array 默認值 [':disabled', ':hidden', ':not(:visible)'] * 3、帶回調(diào)函數(shù) [':disabled', ':hidden', function($field, validator) { // $field 當前驗證字段dom節(jié)點 // validator 驗證實例對象 // 可以再次自定義不要驗證的規(guī)則 // 必須要return,return true or false; return !$field.is(':visible'); }] */ excluded: [':disabled', ':hidden', ':not(:visible)'], /** * 指定驗證后驗證字段的提示字體圖標。(默認是bootstrap風格) * Bootstrap 版本 >= 3.1.0 * 也可以使用任何自定義風格,只要引入好相關(guān)的字體文件即可 * 默認樣式 .form-horizontal .has-feedback .form-control-feedback { top: 0; right: 15px; } * 自定義該樣式覆蓋默認樣式 .form-horizontal .has-feedback .form-control-feedback { top: 0; right: -15px; } .form-horizontal .has-feedback .input-group .form-control-feedback { top: 0; right: -30px; } */ feedbackIcons: { valid: 'glyphicon glyphicon-ok', invalid: 'glyphicon glyphicon-remove', validating: 'glyphicon glyphicon-refresh' }, /** * 生效規(guī)則(三選一) * enabled 字段值有變化就觸發(fā)驗證 * disabled,submitted 當點擊提交時驗證并展示錯誤信息 */ live: 'enabled', /** * 為每個字段指定通用錯誤提示語 */ message: 'This value is not valid', /** * 指定提交的按鈕,例如:'.submitBtn' '#submitBtn' * 當表單驗證不通過時,該按鈕為disabled */ submitButtons: 'button[type="submit"]', /** * submitHandler: function(validator, form, submitButton) { * //validator: 表單驗證實例對象 * //form jq對象 指定表單對象 * //submitButton jq對象 指定提交按鈕的對象 * } * 在ajax提交表單時很實用 * submitHandler: function(validator, form, submitButton) { // 實用ajax提交表單 $.post(form.attr('action'), form.serialize(), function(result) { // .自定義回調(diào)邏輯 }, 'json'); } * */ submitHandler: null, /** * 為每個字段設(shè)置統(tǒng)一觸發(fā)驗證方式(也可在fields中為每個字段單獨定義),默認是live配置的方式,數(shù)據(jù)改變就改變 * 也可以指定一個或多個(多個空格隔開) 'focus blur keyup' */ trigger: null, /** * Number類型 為每個字段設(shè)置統(tǒng)一的開始驗證情況,當輸入字符大于等于設(shè)置的數(shù)值后才實時觸發(fā)驗證 */ threshold: null, /** * 表單域配置 */ fields: { //多個重復(fù) <fieldName>: { //隱藏或顯示 該字段的驗證 enabled: true, //錯誤提示信息 message: 'This value is not valid', /** * 定義錯誤提示位置 值為CSS選擇器設(shè)置方式 * 例如:'#firstNameMeg' '.lastNameMeg' '[data-stripe="exp-month"]' */ container: null, /** * 定義驗證的節(jié)點,CSS選擇器設(shè)置方式,可不必須是name值。 * 若是id,class, name屬性,<fieldName>為該屬性值 * 若是其他屬性值且有中劃線鏈接,<fieldName>轉(zhuǎn)換為駝峰格式 selector: '[data-stripe="exp-month"]' => expMonth */ selector: null, /** * 定義觸發(fā)驗證方式(也可在fields中為每個字段單獨定義),默認是live配置的方式,數(shù)據(jù)改變就改變 * 也可以指定一個或多個(多個空格隔開) 'focus blur keyup' */ trigger: null, // 定義每個驗證規(guī)則 validators: { //多個重復(fù) //官方默認驗證參照 http://bv.doc.javake.cn/validators/ // 注:使用默認前提是引入了bootstrapValidator-all.js // 若引入bootstrapValidator.js沒有提供常用驗證規(guī)則,需自定義驗證規(guī)則哦 <validatorName>: <validatorOptions> } } } });
四、定義自定義驗證規(guī)則
該規(guī)則是拓展插件的validators方法。
我將項目中常用的方法放到了一個單獨js中,也就是上面第一步引用的自定義方法。
使用方法如下:
(function($) { //自定義表單驗證規(guī)則 $.fn.bootstrapValidator.validators = { <validatorName> : { /** * @param {BootstrapValidator} 表單驗證實例對象 * @param {jQuery} $field jQuery 對象 * @param {Object} 表單驗證配置項值 * @returns {boolean} */ validate: function(validator, $field, options) { // 表單輸入的值 // var value = $field.val(); //options為<validatorOptions>對象,直接.獲取需要的值 // 返回true/false //也可返回{ valid : true/false, message: 'XXXX'} return reg.test( $field.val() ); } }, }; }(window.jQuery));
五、常用事件
1、重置某一單一驗證字段驗證規(guī)則
$(formName).data(“bootstrapValidator”).updateStatus("fieldName", "NOT_VALIDATED", null );
2、重置表單所有驗證規(guī)則
$(formName).data("bootstrapValidator").resetForm();
3、手動觸發(fā)表單驗證
//觸發(fā)全部驗證 $(formName).data(“bootstrapValidator”).validate(); //觸發(fā)指定字段的驗證 $(formName).data(“bootstrapValidator”).validate('fieldName');
4、獲取當前表單驗證狀態(tài)
// flag = true/false var flag = $(formName).data(“bootstrapValidator”).isValid();
5、根據(jù)指定字段名稱獲取驗證對象
// element = jq對象 / null var element = $(formName).data(“bootstrapValidator”).getFieldElements('fieldName');
六、表單提交
1、當提交按鈕是普通按鈕
手動觸發(fā)表單驗證
示例:
$("buttonName").on("click", function(){ //獲取表單對象 var bootstrapValidator = form.data('bootstrapValidator'); //手動觸發(fā)驗證 bootstrapValidator.validate(); if(bootstrapValidator.isValid()){ //表單提交的方法、比如ajax提交 } });
2、當提交按鈕的[type=”submit”]時
會在success之前自動觸發(fā)表單驗證
var bootstrapValidator = form.data('bootstrapValidator'); bootstrapValidator.on('success.form.bv', function (e) { e.preventDefault(); //提交邏輯 });
以上所述是小編給大家介紹的BootstrapValidator超詳細教程(推薦),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
- bootstrapValidator.min.js表單驗證插件
- bootstrapValidator表單驗證插件學(xué)習
- Bootstrap中的表單驗證插件bootstrapValidator使用方法整理(推薦)
- 實用又漂亮的BootstrapValidator表單驗證插件
- jquery插件bootstrapValidator數(shù)據(jù)驗證詳解
- bootstrapValidator bootstrap-select驗證不可用的解決辦法
- Bootstrapvalidator校驗、校驗清除重置的實現(xiàn)代碼(推薦)
- BootstrapValidator實現(xiàn)注冊校驗和登錄錯誤提示效果
- 基于jQuery 實現(xiàn)bootstrapValidator下的全局驗證
- Bootstrap簡單實用的表單驗證插件BootstrapValidator用法實例詳解
相關(guān)文章
uniapp小程序底部tabbar圖標大小設(shè)置辦法
這篇文章主要給大家介紹了關(guān)于uniapp小程序底部tabbar圖標大小設(shè)置辦法的相關(guān)資料,在使用uniapp進行開發(fā)時,tabbar是我們使用的很頻繁的一個組件,但是在特定的平臺會有一些使用上的限制,需要的朋友可以參考下2023-08-08微信小程序第三方框架對比 之 wepy / mpvue / taro
這篇文章主要介紹了小程序第三方框架對比 ( wepy / mpvue / taro ) 分析,非常不錯,具有一定的參考借鑒價值,需要的朋友參考下吧2019-04-04工作中比較實用的JavaScript驗證和數(shù)據(jù)處理的干貨(經(jīng)典)
工作中比較實用的JavaScript驗證和數(shù)據(jù)處理知識經(jīng)常會用到,下面小編通過查閱相關(guān)資料及日常記錄的知識分享到腳本之家平臺,供大家參考2016-08-08