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 相关文章推荐
jQuery中的bind绑定事件与文本框改变事件的临时解决方法
Aug 13 Javascript
js 替换功能函数,用正则表达式解决,js的全部替换
Dec 08 Javascript
createElement与createDocumentFragment的点点区别小结
Dec 19 Javascript
21个值得收藏的Javascript技巧
Feb 04 Javascript
jQuery插件Timelinr 实现时间轴特效
Oct 04 Javascript
Jquery uploadify上传插件使用详解
Jan 13 Javascript
WebGL利用FBO完成立方体贴图效果完整实例(附demo源码下载)
Jan 26 Javascript
实例讲解JavaScript中call、apply、bind方法的异同
Sep 13 Javascript
JavaScript使用闭包模仿块级作用域操作示例
Jan 21 Javascript
js前端对于大量数据的展示方式及处理方法
Dec 02 Javascript
node.js文件的复制、创建文件夹等相关操作
Feb 05 Javascript
js闭包和垃圾回收机制示例详解
Mar 01 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快速url重写 更新版[需php 5.30以上]
2010/04/20 PHP
浅谈ThinkPHP的URL重写
2014/11/25 PHP
正确的PHP匹配UTF-8中文的正则表达式
2015/05/13 PHP
深入浅析PHP7.0新特征(五大新特征)
2015/10/29 PHP
Laravel5.5新特性之友好报错以及展示详解
2017/08/13 PHP
jquery checkbox 勾选的bug问题解决方案与分析
2014/11/13 Javascript
JavaScript实现查找字符串中第一个不重复的字符
2014/12/29 Javascript
原生JS和JQuery动态添加、删除表格行的方法
2015/05/28 Javascript
JavaScript实现定时隐藏与显示图片的方法
2015/08/06 Javascript
JS原型链怎么理解
2016/06/27 Javascript
Node.js连接postgreSQL并进行数据操作
2016/12/18 Javascript
jQuery选择器选中最后一个元素,倒数第二个元素操作示例
2018/12/10 jQuery
微信小程序rich-text富文本用法实例分析
2019/05/20 Javascript
vue实现编辑器键盘抬起时内容跟随光标距顶位置向上滚动效果
2020/05/28 Javascript
python以环状形式组合排列图片并输出的方法
2015/03/17 Python
python实用代码片段收集贴
2015/06/03 Python
python爬取亚马逊书籍信息代码分享
2017/12/09 Python
Python实现字典按照value进行排序的方法分析
2017/12/23 Python
Python视频爬虫实现下载头条视频功能示例
2018/05/07 Python
django从请求到响应的过程深入讲解
2018/08/01 Python
Python使用pandas和xlsxwriter读写xlsx文件的方法示例
2019/04/09 Python
keras输出预测值和真实值方式
2020/06/27 Python
对Python 字典元素进行删除的方法
2020/07/31 Python
美国珠宝店:Helzberg Diamonds
2018/10/24 全球购物
优秀求职信范文分享
2013/12/19 职场文书
平安校园建设方案
2014/05/02 职场文书
化学工程专业求职信
2014/08/10 职场文书
2014银行授权委托书样本
2014/10/04 职场文书
承诺书模板大全
2015/05/04 职场文书
户外亲子活动总结
2015/05/08 职场文书
夏洛特的网观后感
2015/06/15 职场文书
2015高中教师个人工作总结
2015/07/21 职场文书
超级实用的公文标题大全!
2019/07/19 职场文书
mongodb数据库迁移变更的解决方案
2021/09/04 MongoDB
MySQL约束超详解
2021/09/04 MySQL
能用CSS实现的就不要麻烦JavaScript了
2021/10/05 HTML / CSS