如何解决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个精彩的专题:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持移动技术网。
如对本文有疑问, 点击进行留言回复!!
同事牛逼啊,写了个隐藏 bug,我排查了 3 天才解决问题!
【JavaScript笔记(一)】万丈高楼平地起 - 基本概念篇
轻松解决 org.apache.taglibs.standard.tlv.JstlCoreTLV 困惑
网友评论