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 相关文章推荐
Js的MessageBox
Dec 03 Javascript
拖动一个HTML元素
Dec 22 Javascript
JavaScript AOP编程实例
Jun 16 Javascript
jQuery+CSS3折叠卡片式下拉列表框实现效果
Nov 02 Javascript
js实现仿微博滚动显示信息的效果
Dec 21 Javascript
js对字符串进行编码的方法总结(推荐)
Nov 10 Javascript
关于微信jssdk实现多图片上传的一点心得分享
Dec 13 Javascript
jQuery插件FusionCharts绘制的2D双面积图效果示例【附demo源码】
Apr 11 jQuery
把vue-router和express项目部署到服务器的方法
Feb 21 Javascript
webpack 样式加载的实现原理
Jun 12 Javascript
Angular6 Filter实现页面搜索的示例代码
Dec 02 Javascript
js实现小时钟效果
Mar 25 Javascript
使用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
全国FM电台频率大全 - 27 陕西省
2020/03/11 无线电
PHP变量内存分配问题记录整理
2013/11/27 PHP
php输出1000以内质数(素数)示例
2014/02/16 PHP
PHP实现的连贯操作、链式操作实例
2014/07/08 PHP
win7 64位系统 配置php最新版开发环境(php+Apache+mysql)
2014/08/15 PHP
Yii框架中memcache用法实例
2014/12/03 PHP
PHP调用Mailgun发送邮件的方法
2017/05/04 PHP
jquery实现的一个文章自定义分段显示功能
2014/05/23 Javascript
在Linux上用forever实现Node.js项目自启动
2014/07/09 Javascript
浅谈页面装载js及性能分析方法
2014/12/09 Javascript
JavaScript将字符串转换成字符编码列表的方法
2015/03/19 Javascript
分离与继承的思想实现图片上传后的预览功能:ImageUploadView
2016/04/07 Javascript
Javascript 正则表达式校验数字的简单实例
2016/11/02 Javascript
AngularJS ng-repeat指令及Ajax的应用实例分析
2017/07/06 Javascript
Angularjs的启动过程分析
2017/07/18 Javascript
JavaScript实现浅拷贝与深拷贝的方法分析
2018/07/05 Javascript
Vue中使用 setTimeout() setInterval()函数的问题
2018/09/13 Javascript
微信小程序页面滚动到指定位置代码实例
2019/09/07 Javascript
[36:37]2014 DOTA2华西杯精英邀请赛5 24 VG VS iG
2014/05/25 DOTA
Django在pycharm下修改默认启动端口的方法
2019/07/26 Python
使用PyTorch实现MNIST手写体识别代码
2020/01/18 Python
Python对wav文件的重采样实例
2020/02/25 Python
Python StringIO及BytesIO包使用方法解析
2020/06/15 Python
scrapy-redis分布式爬虫的搭建过程(理论篇)
2020/09/29 Python
中国排名第一的外贸销售网站:LightInTheBox.com(兰亭集势)
2016/10/28 全球购物
我未来的职业规划范文
2014/01/11 职场文书
求职信标题怎么写
2014/05/26 职场文书
司法局火灾防控方案
2014/06/05 职场文书
大客户经理岗位职责
2015/04/09 职场文书
2015上半年个人工作总结
2015/07/27 职场文书
2015年小学远程教育工作总结
2015/07/28 职场文书
廉洁自律承诺书2016
2016/03/25 职场文书
会议主持词通用版
2019/04/02 职场文书
2019银行竞聘书
2019/06/21 职场文书
MySQL一些常用高级SQL语句
2021/07/03 MySQL
基于Apache Hudi在Google云构建数据湖平台的思路详解
2022/04/07 Servers