Bootstrap-datepicker 与BootstrapValidator同时使用时,选择日期后,无法正常触发校验

  • A+
所属分类:BootstrapValidator

Bootstrap-datepicker 与BootstrapValidator同时使用时,选择日期后,无法正常触发校验
  使用Bootstrap-datepickerBootstrapValidator也有一段时间了,在工作中发现两者同时使用时会出现的一种问题,当选择完日期后,并不会正确校验该字段。
  BootstrapValidator插件默认情况下,不会重复校验一个已经标记为验证通过或验证不通过的字段。so ,当开始触发校验后,没有通过校验,当正确选择日期后,并不会刷新校验结果,就会导致数据无法正常提交,当手动把日期改变后,会发现校验被正确触发了。现在就说解决方法。

解决方案

  根据应用场景分析,当日期选择插件关闭时,期望能够触发校验。所以使用bootstrap-datepicker的hide方法。当日期选择框关闭时,执行刷新校验。先贴代码再解释:

  1. /* 加载时间选择插件 */    
  2.     $(".datepicker").datepicker({    
  3.         todayBtn : "linked",    
  4.         autoclose : true,    
  5.         todayHighlight : true,    
  6.         endDate : new Date()    
  7.     }).on('hide',function(e) {    
  8.                 $('#FormAddComP').data('bootstrapValidator')    
  9.                     .updateStatus(e.target.id, 'NOT_VALIDATED',null)    
  10.                     .validateField(e.target.id);    
  11.             });    

updateStatus方法的作用是更新给定字段的校验状态;
validateField方法的作用是触发给定字段的校验;

钰玺

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: