bootstrapValidator JS修改内容无法验证

需求:

form表单输入中有坐标,坐标可以输入也可以从地图中获取,验证插件使用的是 bootstrapValidator

问题:

当输入错误的值时会触发验证,有错误提示。当在地图上选择坐标,通过js修改文本值后错误验证依然存在,如下图所示:

手输后:

选取坐标点后:

解决办法:

因为 bootstrapValidator 默认触发验证的事件是 keyup,所以需要在验证的字段下手动加入该事件,用于手动触发验证。代码如下:

      longitude:{
               group: '.col-sm-4',
                trigger:"keyup",
                validators: {
                   numeric: {message: '只能为数字'}, 
                 }
            }

然后在赋值的时候触发该事件即可,代码如下:

 $("#longitudeId").val(evt.coordinate[0])
$("#latitudeId").val(evt.coordinate[1])
setTimeout(function(){
                 $("#longitudeId").keyup();
                 $("#latitudeId").keyup();
               },10)

PS:

不知为什么,因为赋值后直接触发事件没有效果,所以加了一个setTimeout 延迟事件的触发。

原文地址:https://www.cnblogs.com/GIScore/p/7326071.html