bootStrapValidator+bootStrap-select的验证不可用 解决办法

 思路:把多选下拉框的选中值,赋给一个隐藏的input组件,再对input组件进行验证(bootstrap-validator默认情况下hidden,disabled的组件不验证,可以通过excluded属性更改),具体步骤如下:

1.表单验证初始化(js)

$('#myModalForm').bootstrapValidator({

            message: 'This value is not valid',
            excluded : [':disabled'],//[':disabled', ':hidden', ':not(:visible)'] // 设置隐藏组件可验证
            feedbackIcons: {
                valid: 'glyphicon glyphicon-ok',
                invalid: 'glyphicon glyphicon-remove',
                validating: 'glyphicon glyphicon-refresh'
            },

            fields: {

roleid: {
                    message: '角色无效',
                    validators: {
                       notEmpty: {
                            message: '角色不可为空'
                        }
                    }
                }

}

})

2.bootStrap-select组件配置(jsp页面)

       <input type="hidden"  class="form-control" id="roleid" name="roleid">
       <select class="selectpicker  form-control" multiple  data-width="60%"  id="roleidForSelect" title="---请选择---"></select>

3.在多选下拉框选择完毕后,为对应的input赋值

        $('#roleidForSelect').on('hidden.bs.select', function (e) { //该方法注册到$(function(){})函数中
            var tmpSelected = $('#roleidForSelect').val();
            if(tmpSelected != null){
                $('#roleid').val(tmpSelected);
            }else {
                $('#roleid').val("");
            }

    //由于input为hidden,验证会出现一些bug,此处手动验证隐藏的input组件
            $('#myModalForm').data('bootstrapValidator').updateStatus('roleid', 'NOT_VALIDATED').validateField('roleid');
        });
















评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值