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 相关文章推荐
W3C Group的JavaScript1.8 新特性介绍
May 19 Javascript
不安全的常用的js写法
Sep 15 Javascript
JavaScript函数详解
Feb 27 Javascript
常用的JQuery函数及功能小结
Mar 24 Javascript
jquery datatable服务端分页
Aug 31 Javascript
jQuery Validate 校验多个相同name的方法
May 18 jQuery
详解Angular4中路由Router类的跳转navigate
Jun 09 Javascript
web前端vue之CSS过渡效果示例
Jan 10 Javascript
vue+element实现批量删除功能的示例
Feb 28 Javascript
详解几十行代码实现一个vue的状态管理
Jan 28 Javascript
Vue数据驱动表单渲染,轻松搞定form表单
Jul 19 Javascript
layui实现数据分页功能
Jul 27 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反序列化
2020/06/10 PHP
Gambit vs ForZe BO3 第一场 2.13
2021/03/10 DOTA
静态的动态续篇之来点XML
2006/12/23 Javascript
JavaScript控制Session操作方法
2013/01/17 Javascript
jquery解决图片路径不存在执行替换路径
2013/02/06 Javascript
在HTML中插入JavaScript代码的示例
2015/06/03 Javascript
详解JavaScript编程中正则表达式的使用
2015/10/25 Javascript
JavaScript代码实现禁止右键、禁选择、禁粘贴、禁shift、禁ctrl、禁alt
2015/11/17 Javascript
WordPress中利用AJAX技术进行评论提交的实现示例
2016/01/12 Javascript
js面向对象的写法
2016/02/19 Javascript
JS中用try catch对代码运行的性能影响分析
2016/12/26 Javascript
BootStrap实现鼠标悬停下拉列表功能
2017/02/17 Javascript
深入浅析Vue.js计算属性和侦听器
2018/05/05 Javascript
vue指令做滚动加载和监听等
2019/05/26 Javascript
javascript面向对象三大特征之多态实例详解
2019/07/24 Javascript
基于 vue-skeleton-webpack-plugin 的骨架屏实战
2019/08/05 Javascript
JavaScript实时更新当前的时间的示例代码
2020/07/15 Javascript
vue-cli打包后本地运行dist文件中的index.html操作
2020/08/12 Javascript
[04:47]DOTA2-潍坊风行电子俱乐部探秘
2014/08/08 DOTA
Python的动态重新封装的教程
2015/04/11 Python
理解Python中函数的参数
2015/04/27 Python
python先序遍历二叉树问题
2017/11/10 Python
python自定义时钟类、定时任务类
2021/02/22 Python
python实现学生信息管理系统(精简版)
2020/11/27 Python
基于css3仿造window7的开始菜单
2010/06/17 HTML / CSS
汽车技术服务与营销专业推荐信
2013/11/29 职场文书
亲戚结婚的请假条
2014/02/11 职场文书
《胡杨》教学反思
2014/02/16 职场文书
实习推荐信
2014/05/10 职场文书
2014向国旗敬礼网上签名活动总结
2014/09/27 职场文书
个人剖析材料及整改措施
2014/10/07 职场文书
护理工作个人总结
2015/03/03 职场文书
2015年社区教育工作总结
2015/05/13 职场文书
中学政教处工作总结
2015/08/13 职场文书
ElementUI实现el-form表单重置功能按钮
2021/07/21 Javascript
一文了解JavaScript用Element Traversal新属性遍历子元素
2021/11/27 Javascript