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代码
Oct 19 Javascript
下拉列表select 由左边框移动到右边示例
Dec 04 Javascript
node.js中的fs.ftruncate方法使用说明
Dec 15 Javascript
js获取当前时间显示在页面上并每秒刷新
Dec 24 Javascript
在Javascript中处理数组之toSource()方法的使用
Jun 09 Javascript
微信企业号开发之微信考勤百度地图定位
Sep 11 Javascript
jQuery实现只允许输入数字和小数点的方法
Mar 02 Javascript
jQuery实现将div中滚动条滚动到指定位置的方法
Aug 10 Javascript
DOM中事件处理概览与原理的全面解析
Aug 16 Javascript
Bootstrap Table使用整理(四)之工具栏
Jun 09 Javascript
微信小程序文字显示换行问题
Jul 28 Javascript
vue组件实现移动端九宫格转盘抽奖
Oct 16 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
yii框架表单模型使用及以数组形式提交表单数据示例
2014/04/30 PHP
php中使用in_array() foreach array_search() 查找数组是否包含时的性能对比
2015/04/14 PHP
用Javascript数组处理多个字符串的连接问题
2009/08/20 Javascript
扩展jQuery 键盘事件的几个基本方法
2009/10/30 Javascript
关于COOKIE个数与大小的问题
2011/01/17 Javascript
Knockoutjs的环境搭建教程
2012/11/26 Javascript
jquery仿QQ商城带左右按钮控制焦点图片切换滚动效果
2013/06/27 Javascript
js全选实现和判断是否有复选框选中的方法
2015/02/17 Javascript
实例详解jQuery结合GridView控件的使用方法
2016/01/04 Javascript
json实现添加、遍历与删除属性的方法
2016/06/17 Javascript
浅谈javascript中的加减时间
2016/07/12 Javascript
完美实现八种js焦点轮播图(上篇)
2016/07/18 Javascript
bootstrap的3级菜单样式,支持母版页保留打开状态实现方法
2016/11/10 Javascript
jQuery手指滑动轮播效果
2016/12/22 Javascript
Node.js中.pfx后缀文件的处理方法
2017/03/10 Javascript
解决vue单页使用keep-alive页面返回不刷新的问题
2018/03/13 Javascript
微信小程序form表单组件示例代码
2018/07/15 Javascript
nodejs基础之多进程实例详解
2018/12/27 NodeJs
微信公众平台 客服接口发消息的实现代码(Java接口开发)
2019/04/17 Javascript
python采用django框架实现支付宝即时到帐接口
2016/05/17 Python
利用python程序生成word和PDF文档的方法
2017/02/14 Python
python实现在IDLE中输入多行的方法
2018/04/19 Python
Python判断是否json是否包含一个key的方法
2018/12/31 Python
在Python中通过getattr获取对象引用的方法
2019/01/21 Python
pyhanlp安装介绍和简单应用
2019/02/22 Python
Python 运行.py文件和交互式运行代码的区别详解
2019/07/02 Python
详解python itertools功能
2020/02/07 Python
解析Tensorflow之MNIST的使用
2020/06/30 Python
EVE LOM英国官网:全世界最好的洁面膏
2017/10/30 全球购物
外贸采购员岗位职责
2014/03/08 职场文书
新年寄语大全
2014/04/12 职场文书
我的梦想演讲稿500字
2014/08/21 职场文书
2014年司法所工作总结
2014/11/22 职场文书
运动会通讯稿200字
2015/07/20 职场文书
决心书格式及范文
2019/06/24 职场文书
mysq启动失败问题及场景分析
2021/07/15 MySQL