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 禁用浏览器的后退功能的简单方法
Dec 10 Javascript
JavaScript让IE浏览器event对象符合W3C DOM标准
Nov 24 Javascript
深入理解Javascript闭包 新手版
Dec 28 Javascript
jquery xMarquee实现文字水平无缝滚动效果
Apr 29 Javascript
详解JavaScript正则表达式之RegExp对象
Dec 13 Javascript
JS实现倒计时(天数、时、分、秒)
Nov 16 Javascript
基于touch.js手势库+zepto.js插件开发图片查看器(滑动、缩放、双击缩放)
Nov 17 Javascript
Node.js利用Net模块实现多人命令行聊天室的方法
Dec 23 Javascript
vue watch自动检测数据变化实时渲染的方法
Jan 16 Javascript
详解Angular如何正确的操作DOM
Jul 06 Javascript
小试小程序云开发(小结)
Jun 06 Javascript
javascript实现移动端上传图片功能
Aug 18 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
星际初学者游戏中永远要做的事
2020/03/04 星际争霸
PHP对象转换为数组函数(递归方法)
2012/02/04 PHP
IIS安装Apache伪静态插件的具体操作图文
2013/07/01 PHP
PHP实现微信公众平台音乐点播
2014/03/20 PHP
PHP判断文章里是否有图片的简单方法
2014/07/26 PHP
Laravel学习教程之本地化模块
2017/08/18 PHP
php让json_encode不自动转义斜杠“/”的方法
2020/04/27 PHP
Jquery.LazyLoad.js修正版下载,实现图片延迟加载插件
2011/03/12 Javascript
Jquery插件之打造自定义的select标签
2011/11/30 Javascript
循环 vs 递归浅谈
2013/02/28 Javascript
禁止页面刷新让F5快捷键及右键都无效
2014/01/22 Javascript
原生js实现淘宝首页点击按钮缓慢回到顶部效果
2014/04/06 Javascript
JavaScript通过setTimeout实时显示当前时间的方法
2015/04/16 Javascript
BOM之navigator对象和用户代理检测
2017/02/10 Javascript
node+vue实现用户注册和头像上传的实例代码
2017/07/20 Javascript
React-Native 组件之 Modal的使用详解
2017/08/08 Javascript
基于javascript中的typeof和类型判断(详解)
2017/10/27 Javascript
React.Js添加与删除onScroll事件的方法详解
2017/11/03 Javascript
微信小程序实现折叠面板
2018/01/31 Javascript
详解小程序循环require之坑
2019/03/08 Javascript
用Vue.js在浏览器中实现裁剪图像功能
2019/06/18 Javascript
如何使用gpu.js改善JavaScript的性能
2020/12/01 Javascript
Python3.0与2.X版本的区别实例分析
2014/08/25 Python
python中split方法用法分析
2015/04/17 Python
python爬取m3u8连接的视频
2018/02/28 Python
Tensorflow之Saver的用法详解
2018/04/23 Python
利用python如何处理百万条数据(适用java新手)
2018/06/06 Python
django框架使用views.py的函数对表进行增删改查内容操作详解【models.py中表的创建、views.py中函数的使用,基于对象的跨表查询】
2019/12/12 Python
高二化学教学反思
2014/01/30 职场文书
副科级后备干部考察材料
2014/05/15 职场文书
会计学习心得体会
2014/09/09 职场文书
中学生秋季运动会广播稿
2014/09/21 职场文书
恰同学少年观后感
2015/06/08 职场文书
如何写新闻稿
2015/07/18 职场文书
2015年中学体育教师工作总结
2015/10/23 职场文书
使用CSS连接数据库的方式
2022/02/28 HTML / CSS