我有一个网站,它使用jQuery验证进行表单验证,BsMultiSelect作为一个更好的多选择字段。问题是BsMultiSelect用自己的div替换了select元素,我不知道如何验证它。
我有以下HTML代码:
<form method="post" id="server-form" class="form-responsive m-auto">
<div class="form-group">
<label for="categories">
Categories
<span class="text-danger">*</span>
</label>
<select name="categories[]" id="categories" class="form-control" multiple="multiple">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
</div>
<input type="submit" value="Submit" id="submit" class="btn btn-primary">
</form>这个Javascript:
$(function(){
$('#categories').bsMultiSelect();
$('#server-form').validate({
rules:{
'categories[]':{
required: true,
maxlength: 3
}
}
});
});它在没有BsMultiSelect的情况下工作,但没有使用它。有没有办法使这些插件相互兼容?
发布于 2020-02-05 15:42:10
1) BsMultiSelect有自己的github项目:https://github.com/DashboardCode/BsMultiSelect。
2)向其添加自定义验证的选项之一是获取BsMultiSelect validationApi --它模拟HTMLEntity validationApi。
var bsMultiSelect = $('#myselect').BsMultiSelect();
bsMultiSelect.validationApi.setCustomValidity("error message") // or set to "" to remove the message然后,您需要将它与jquery验证集成在一起:侦听它的事件并添加或删除消息。
https://stackoverflow.com/questions/59239835
复制相似问题