0.
触发验证时, 事先用js填充了正确数据但"isValid"返回false的问题:
是因为初始化时第一次获取valid值时便产生了返回值,而初始化时默认赋值为NOT_VALID。
解决方案:点击(或其他)事件触发后调用bootstrapValidator后延时10ms执行获取isValid值的操作。
function validateCurrent(element,option,callback) {
element.bootstrapValidator(option);
setTimeout(function () {
if (element.data("bootstrapValidator").isValid() === true){
callback();
}
},300);
}
1.
验证成功后bootstrapValidator会将submit按钮设置为disabled状态,而我页面没有跳转,重新回到这部分的话便无法操作。
解决方案:修改bootstrapValidator.js #792 将设置disabled的语句注释掉。
2.
对于美化后的radio单选框,大多为隐藏radio按钮的方式,而隐藏后bootstrapValidator便将其排除验证。
解决方案:修改bootstrapValidator.js #1723 将
excluded: [':disabled', ':hidden', ':not(:visible)']
改为
excluded: [':disabled']
3.
input框只能由手动输入触发验证.
解决方案:修改bootstrapValidator.js #41 将
this._changeEvent = (ieVersion === 9 || !('oninput' in el)) ? 'keyup' : 'input';
改为
this._changeEvent = (ieVersion === 9 || !('oninput' in el)) ? 'keyup' : 'change';
修改:js更改input内容时不会触发验证,解决办法为在js赋值时使用$().trigger('change')来手动触发。