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

来源:互联网 发布:大数据资格认证 编辑:程序博客网 时间:2024/06/13 11:24

思路:把多选下拉框的选中值,赋给一个隐藏的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');
        });

阅读全文
0 0
原创粉丝点击