bootstrap datepicker 与bootstrapValidator同时使用时选择日期后无法正常触发校验的解决思路


Posted in Javascript onSeptember 28, 2016

一、前言

使用bootstrap-datepicker和bootstrapValidator也有一段时间了,在工作中发现两者同时使用时会出现的一种问题,当选择完日期后,并不会正确校验该字段。为了更加直观的展现问题,上图一张。

bootstrap datepicker 与bootstrapValidator同时使用时选择日期后无法正常触发校验的解决思路

可以看出,当选择完日期后,校验结果并没有达到预期,是因为bootstrapValidator插件默认情况下,不会重复校验一个已经标记为验证通过或验证不通过的字段。so ,当开始触发校验后,没有通过校验,当正确选择日期后,并不会刷新校验结果,就会导致数据无法正常提交,当手动把日期改变后,会发现校验被正确触发了。现在就说解决方法。

二、问题解决

根据应用场景分析,当日期选择插件关闭时,期望能够触发校验。所以使用bootstrap-datepicker的hide方法。当日期选择框关闭时,执行刷新校验。先贴代码再解释:

/* 加载时间选择插件 */ 
$("#companyRegisteTime").datepicker({ 
todayBtn : "linked", 
autoclose : true, 
todayHighlight : true, 
endDate : new Date() 
}).on('hide',function(e) { 
$('#enterpriseInfoForm').data('bootstrapValidator') 
.updateStatus('companyRegisteTime', 'NOT_VALIDATED',null) 
.validateField('companyRegisteTime'); 
});

updateStatus方法的作用是更新给定字段的校验状态,官方介绍如下:

bootstrap datepicker 与bootstrapValidator同时使用时选择日期后无法正常触发校验的解决思路

validateField方法的作用是触发给定字段的校验

bootstrap datepicker 与bootstrapValidator同时使用时选择日期后无法正常触发校验的解决思路

boostrapValidator官方文档地址:http://bv.doc.javake.cn/api/

bootstrap-datepicker文档地址:http://bootstrap-datepicker.readthedocs.io/en/latest/

三、完整示例

1、JSP中

<form method="post" action="${ctx }/corp/enterpriseInfo/saveCorpInfo.htm" enctype="multipart/form-data" id="enterpriseInfoForm" name="enterpriseInfoForm"> 
<div class="col-md-5 col-md-offset-1 mar-top"> 
<div class="form-horizontal"> 
<div class="form-group"> 
<label class="col-md-3 control-label">公司注册时间:</label> 
<div class="col-md-9"> 
<input type="text" class="form-control" id="companyRegisteTime" name="companyRegisteTime" value="${corpInfo.companyRegisteTime }"> 
</div> 
</div> 
</div> 
</div> 
</form>

2、js中初始化

<span style="font-size:18px;">$('#enterpriseInfoForm').bootstrapValidator({ 
message : '该值无效', 
feedbackIcons : faIcon, 
excluded : ':disabled', 
fields : { 
companyRegisteTime : { 
message : '企业注册时间无效', 
validators : { 
notEmpty : { 
message : '企业注册时间不能为空' 
}, 
date : { 
format : 'YYYY/MM/DD', 
message : '日期格式不正确' 
} 
} 
} 
} 
});</span>

效果展示

bootstrap datepicker 与bootstrapValidator同时使用时选择日期后无法正常触发校验的解决思路

以上所述是小编给大家介绍的bootstrap datepicker 与bootstrapValidator同时使用时选择日期后无法正常触发校验的解决思路,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
JavaScript的面向对象(二)
Nov 09 Javascript
jQuery+ajax实现无刷新级联菜单示例
May 21 Javascript
js实现的全国省市二级联动下拉选择菜单完整实例
Aug 17 Javascript
在 Express 中使用模板引擎
Dec 10 Javascript
JQuery日历插件My97DatePicker日期范围限制
Jan 20 Javascript
JS中使用变量保存arguments对象的方法
Jun 03 Javascript
vue父子组件的数据传递示例
Mar 07 Javascript
简单实现JavaScript弹幕效果
Aug 27 Javascript
JavaScript之Date_动力节点Java学院整理
Jun 28 Javascript
vue-cli+iview项目打包上线之后图标不显示问题及解决方法
Oct 16 Javascript
uniapp实现可滑动选项卡
Oct 21 Javascript
Vue实现点击当前行变色
Dec 14 Vue.js
使用bootstrapValidator插件进行动态添加表单元素并校验
Sep 28 #Javascript
BootStrap 动态添加验证项和取消验证项的实现方法
Sep 28 #Javascript
Javascript中判断一个值是否为undefined的方法详解
Sep 28 #Javascript
BootStrap Validator使用注意事项(必看篇)
Sep 28 #Javascript
使用BootStrapValidator完成前端输入验证
Sep 28 #Javascript
request请求获取参数的实现方法(post和get两种方式)
Sep 27 #Javascript
使用JavaScript获取Request中参数的值方法
Sep 27 #Javascript
You might like
php visitFile()遍历指定文件夹函数
2010/08/21 PHP
jquery DOM操作 基于命令改变页面
2010/05/06 Javascript
javascript分页代码(当前页码居中)
2012/09/20 Javascript
使用非html5实现js板连连看游戏示例代码
2013/09/22 Javascript
用javascript删除当前行,添加行(示例代码)
2013/11/25 Javascript
js简单的表格添加行和删除行操作示例
2014/03/31 Javascript
javascript实现3D切换焦点图
2015/10/16 Javascript
JavaScript省市区三级联动菜单效果
2016/09/21 Javascript
jQuery实现的模拟弹出窗口功能示例
2016/11/24 Javascript
jQuery图片缩放插件smartZoom使用实例详解
2017/08/25 jQuery
vue引入js数字小键盘的实现代码
2018/05/14 Javascript
seajs下require书写约定实例分析
2018/05/16 Javascript
Vue 实现从文件中获取文本信息的方法详解
2019/10/16 Javascript
Jquery属性的获取/设置及样式添加/删除操作技巧分析
2019/12/23 jQuery
浅谈vue 多个变量同时赋相同值互相影响
2020/08/05 Javascript
使用JavaScript和MQTT开发物联网应用示例解析
2020/08/07 Javascript
[00:33]2016完美“圣”典风云人物:BurNIng宣传片
2016/12/10 DOTA
python基础教程之Filter使用方法
2017/01/17 Python
pygame实现俄罗斯方块游戏
2018/06/26 Python
numpy的文件存储.npy .npz 文件详解
2018/07/09 Python
Python小工具之消耗系统指定大小内存的方法
2018/12/03 Python
详解Python爬取并下载《电影天堂》3千多部电影
2019/04/26 Python
python应用文件读取与登录注册功能
2019/09/23 Python
解决os.path.isdir() 判断文件夹却返回false的问题
2019/11/29 Python
python numpy数组复制使用实例解析
2020/01/10 Python
Python使用graphviz画流程图过程解析
2020/03/31 Python
windows下python 3.9 Numpy scipy和matlabplot的安装教程详解
2020/11/28 Python
纯HTML5+CSS3制作图片旋转
2016/01/12 HTML / CSS
什么是lambda函数
2013/09/17 面试题
企划专员岗位职责
2013/12/09 职场文书
会计专业求职信
2014/08/10 职场文书
争做文明公民倡议书
2014/08/29 职场文书
年检委托书
2014/08/30 职场文书
人事主管岗位职责
2015/02/04 职场文书
教师评职称工作总结2015
2015/04/20 职场文书
go设置多个GOPATH的方式
2021/05/05 Golang