bootstrap validate 验证插件

1、需要引入bootstrapValidator.min.js

2、在需要验证的控件中添加 class="form-control" 

3、js中写验证的方法

    $('#psasave').bootstrapValidator({
        message: 'This value is not valid',
        feedbackIcons: {/*输入框不同状态,显示图片的样式*/
            valid: 'glyphicon glyphicon-ok',
            invalid: 'glyphicon glyphicon-remove',
            validating: 'glyphicon glyphicon-refresh'
        },
        fields: {/*验证*/
            gysqc: {/*键名username和input name值对应*/
                message: '供应商名称为必填项',
                validators: {
                    notEmpty: {/*非空提示*/
                        message: ''
                    }
                }
            },
            gysdzyx: {/*供应商地址邮编*/
                message:'供应商地址不能为空',
                validators: {
                    notEmpty: {/*非空提示*/
                        message: ''
                    }
                }
            } ,
            shmk: {/*审核模块*/
                message:'请选择审核模块',
                validators: {
                    notEmpty: {/*非空提示*/
                        message: '请选择审核模块'
                    }
                }
            },
            cpmk: {/*产品模块*/
                message:'请选择产品模块',
                validators: {
                    notEmpty: {/*非空提示*/
                        message: '请选择产品模块'
                    }
                }
            } ,
            shcp: {/*审核产品*/
                message:'审核产品不能为空',
                validators: {
                    notEmpty: {/*非空提示*/
                        message: '审核产品不能为空'
                    }
                }
            } ,
            shrq: {/*审核日期*/
                message:'审核日期不能为空',
                validators: {
                    notEmpty: {/*非空提示*/
                        message: '审核日期不能为空'
                    }
                }
            },
            shy: {/*审核员姓名*/
                message:'审核员姓名不能为空',
                validators: {
                    notEmpty: {/*非空提示*/
                        message: '审核员姓名不能为空'
                    }
                }
            },
            shydh: {/*审核员姓名*/
                message:'审核人员电话、邮箱不能为空',
                validators: {
                    notEmpty: {/*非空提示*/
                        message: '审核人员电话、邮箱不能为空'
                    }
                }
            }
        }
    });

验证长度、格式那些方法也有,只是没有业务要求,因为电话可能有多个

4、触发验证:

 $("#psasave").data("bootstrapValidator").validate();

5、获取验证结果:(true/false)

var flag = $("#psasave").data("bootstrapValidator").isValid();

参考链接:

https://www.jb51.net/article/99381.htm

6、在html中写验证语句(填写数据就验证,不填写就不验证):

  <td class="form-group">
                            <input name="gysryxxVos[0].sjhm" required pattern="^1[3-578]\d{9}$"
                                   data-bv-regexp-message="请输入11位电话号码"
                                   class="form-control alldiv tb-span-edit"
                                   style="display: block; border: none;box-shadow: none;">
                        </td>
                        <td class="form-group">
                            <input name="gysryxxVos[0].bgshm"
                                   pattern="^$|(0[0-9]{2,3}\-)?([2-9][0-9]{6,7})+(\-[0-9]{1,4})?$"
                                   data-bv-regexp-message="请输入座机"
                                   class="form-control alldiv tb-span-edit" style="border: none;box-shadow: none;">
                        </td>
                        <td colspan="2" class="form-group">
                            <input name="gysryxxVos[0].emilyx" value=""
                                   pattern="^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$"
                                   data-bv-regexp-message="请输入邮箱"
                                   class="form-control alldiv tb-span-edit" style="border: none;box-shadow: none;">
                        </td>
                        <td>
                            <input name="gysryxxVos[0].zgsrgzwsj" class="form-control alldiv tb-span-edit"
                                   style="border: none;box-shadow: none;">
                        </td>

 7、针对日期控件和select 验证问题:

html 代码与其他一样

<td colspan="2" class="form-group">
<input name="wtfxqy" value="${tbmain.wtfxqy}" id="wtfxqy"
class="form-control alldiv tb-span-edit"
style="border: none;box-shadow: none;display: none;">
<select id="selectwtfxqy" lay-filter="selectwtfxqy" ><!--主要使用的是layui框架,只是验证控件使用bootstrap--->
<option value="">请选择</option>
<option value="内部">内部</option>
<option value="外部">外部</option>
</select>
</td>

JS :Bootstrap  验证代码:使用change 事件监听input值修改

  $('#formdata').bootstrapValidator({
            message: '',
            excluded: [":disabled"],
            feedbackIcons: {
                valid: 'glyphicon glyphicon-ok-circle',
                invalid: 'glyphicon glyphicon-remove-circle',
                validating: 'glyphicon glyphicon-refresh'
            },
            fields: {
                //问题发生日期
                wtfsrq:{
                    trigger: "change", //问题2.关键配置
                    message: '',
                    validators: {
                        notEmpty: {
                            /*非空提示*/
                            message: ''
                        }
                    }
                },
         //问题发现区域
                wtfxqy:{
                    trigger: "change",
                    message: '',
                    validators: {
                        notEmpty: {
                            /*非空提示*/
                            message: ''
                        }
                    }
                },
   
            }
        });

JS:监听select 选择改变事件,触发input change事件,日期控件也是一样,监听done事件:----这是layui-select  值change事件,

        form.on("select(selectwtfxqy)", function (obj) {
            $("input[name=wtfxqy]").val(obj.value);
            $("input[name=wtfxqy]").trigger('change'); 
            $('#formdata')
                .data('bootstrapValidator')
                .updateStatus('wtfxqy', 'NOT_VALIDATED', null)
                .validateField('wtfxqy');//必须要执行这个,不然就只会触发一次
        });

 

posted @ 2019-07-19 18:15  凉面好好吃  阅读(420)  评论(0编辑  收藏  举报