如何解决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"> <select multiple data-width="60%" 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个精彩的专题: