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 13 Javascript
利用Jquery实现可多选的下拉框
Feb 21 Javascript
js读写json文件实例代码
Oct 21 Javascript
javascript实现英文首字母大写
Apr 23 Javascript
JS建造者模式基本用法实例分析
Jun 30 Javascript
js的各种排序算法实现(总结)
Jul 23 Javascript
基于SpringMVC+Bootstrap+DataTables实现表格服务端分页、模糊查询
Oct 30 Javascript
Angular动态添加、删除输入框并计算值实例代码
Mar 29 Javascript
使用Node.js实现RESTful API的示例
Aug 01 Javascript
Vue Socket.io源码解读
Feb 07 Javascript
Vue.js轮播图走马灯代码实例(全)
May 08 Javascript
在vue中高德地图引入和轨迹的绘制的实现
Oct 11 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
利用PHP扩展vld查看PHP opcode操作步骤
2013/03/04 PHP
解析php中获取url与物理路径的总结
2013/06/21 PHP
php中使用key,value,current,next和prev函数遍历数组的方法
2015/03/17 PHP
PHP支付宝当面付2.0代码
2018/12/21 PHP
Laravel框架集合用法实例浅析
2020/05/14 PHP
javascript模拟命名空间
2015/04/17 Javascript
玩转JavaScript OOP - 类的实现详解
2016/06/08 Javascript
JavaScript之排序函数_动力节点Java学院整理
2017/06/30 Javascript
JavaScript 日期时间选择器一些小结
2018/04/02 Javascript
如何在 JavaScript 中更好地利用数组
2018/09/27 Javascript
Nodejs模块的调用操作实例分析
2018/12/25 NodeJs
vue两组件间值传递 $router.push实现方法
2019/05/15 Javascript
[00:36]TI7不朽珍藏III——斯温不朽展示
2017/07/15 DOTA
在Python程序中进行文件读取和写入操作的教程
2015/04/28 Python
Django中更新多个对象数据与删除对象的方法
2015/07/17 Python
python中的编码知识整理汇总
2016/01/26 Python
书单|人生苦短,你还不用python!
2017/12/29 Python
使用python存储网页上的图片实例
2018/05/22 Python
python实现列表中由数值查到索引的方法
2018/06/27 Python
Python中pandas dataframe删除一行或一列:drop函数详解
2018/07/03 Python
python 读写excel文件操作示例【附源码下载】
2019/06/19 Python
对DJango视图(views)和模版(templates)的使用详解
2019/07/17 Python
Python中关于浮点数的冷知识
2019/09/22 Python
解决Django no such table: django_session的问题
2020/04/07 Python
python rolling regression. 使用 Python 实现滚动回归操作
2020/06/08 Python
Java爬虫技术框架之Heritrix框架详解
2020/07/22 Python
python 提高开发效率的5个小技巧
2020/10/19 Python
一款简洁的纯css3代码实现的动画导航
2014/10/31 HTML / CSS
详解canvas drawImage()方法绘制图片不显示的问题
2018/10/08 HTML / CSS
HTML5中外部浏览器唤起微信分享功能的代码
2020/09/15 HTML / CSS
工程安全员岗位职责
2014/03/09 职场文书
大学课外活动总结
2014/07/09 职场文书
幼儿园大班见习报告
2014/10/31 职场文书
高三毕业评语
2014/12/31 职场文书
MySQL开启事务的方式
2021/06/26 MySQL
CentOS7设置ssh服务以及端口修改方式
2022/12/24 Servers