遇到问题:bootstrapvalidator在验证第三方插件WdatePicker时,不能实时校验。
预期目的:bootstrapvalidator做到实时校验。
1、选择完日期,不做校验,只有等到form提交的时候才做校验
2、bug:直接点击提交,验证日期为空,选择完日期后,bootstrapvalidator不再做校验,导致提交不了。
3、解决方法(日期必须大于等于今天且实时验证,用到了):
<input id="warrantyTime" class="form-control" type="text" name="warrantyTime" value="<fmt:formatDate value="${info.warrantyTime }" pattern="yyyy-MM-dd"/>" onFocus="WdatePicker({minDate:'%y-%M-\#{%d+1}',dateFmt:'yyyy-MM-dd',onpicking:function(dp){this.value = dp.cal.getNewDateStr();$('#searchFrom').data('bootstrapValidator').updateStatus('warrantyTime', 'NOT_VALIDATED', null).validateField('warrantyTime');}})" placeholder="请选择时间"/>
4、分析原因:
引用api原文:当你想用bootstrapvalidator和其他插件如这种方法是有用的
启动日期选择器,
自举日期时间选择器,
select2,等。默认情况下,插件不重新验证一场一旦已经验证并标记为有效。当使用其他插件, 字段值发生变化,因此需要重新
官方API
http://bv.doc.javake.cn/api/
updateStatus