bootstrap Validator实践

1、是什么

bootstrapValidator是基于jquery、bootstrap数据验证插件。源码作者已不再对此库进行更新,替代的库为FormValidation

2、源码结构

包括了样式文件、主js文件、各种校验器及语言包,分别对应如下:

样式

主js

各种校验器,包括非空、日期、数字、最大值、最小值、颜色等

语言包

3、实践

校验的方式有添加html标签属性、动态绑定,其中动态绑定有分为采用已有的校验器及自定义方法校验。

(1) html标签属性

添加类似data-bv-notempty data-bv-notempty-message="角色不能为空" v-validator的属性,其中 data-bv-后接的为校验器的名称

<input class="form-control" type="text" name="UserCode" id="UserCode" v-model="detail.UserCode" data-bv-notempty data-bv-notempty-message="编号不能为空" v-validator />  

(2)动态绑定

根据标签的name向其绑定校验方法。

绑定已有校验器

$("#form-detail").bootstrapValidator('addField', 'addRatio', {
                validators: {
                    notEmpty: { message: '添加比例不能为空!' },
                    //greaterThan: { value: 0, message: '添加比例最小输入0' },
                    lessThan: { value: 100, message: '添加比例最大输入100' },
                    numeric: { message: '添加比例只能输入数字' }
                }
});

自定义检验方法callback

$("#form-detail").bootstrapValidator('addField', 'addRatio', {
                validators: {
                    callback: {
                        message: '添加比例必须大于0',
                        callback: function (value, validator) {
                            if ((parseFloat(value) || parseFloat(value)==0) && value <= 0) {
                                return false;
                            }
                            return true;
                        }
                    }
                }
            });

(3)触发校验

在页面加载完后给校验元素所在的父容器触发校验

$("#form-detail").data('bootstrapValidator').validate(); 

在保存前对校验是否通过进行判断

if (!$("#form-detail").data('bootstrapValidator').isValid()) {
                return;
            }

  

4、效果

 

5、注意

 (1)保证校验的提示不越位,元素最好放在div.form-group里面

 <div class="form-group">
     <label class="control-label col-xs-3 text-right"><i class="iconfont icon-xinghao starRed"></i>添加比例</label>
     <div class="col-xs-9">
         <input class="form-control" type="text" id="addRatio" name="addRatio" v-model="model.addRatio" style="display: inline-block;" />
         <span>%</span>
     </div>
 </div>

  

参考:

bootstrap validator官网

https://github.com/nghuuphuoc/bootstrapvalidator

bootstrap validator自定义表单校验

https://blog.csdn.net/qq_21358931/article/details/78914960

bootstrap validator使用时需要注意的事项

https://blog.csdn.net/coolcaosj/article/details/38085191

bootstrap validator 使用笔记

https://blog.csdn.net/zc474235918/article/details/50670218

猜你喜欢

转载自www.cnblogs.com/hepc/p/9595824.html