问题:经常编辑信息时出现通过bootstrap validator校验Ajax请求提交两次问题
原因:可以看到remote那里有一个ajax验证重名,效果是bootstrapValidator没有等ajax拿到返回值就直接拿了一个默认值false走人了导致的该问题;
解决办法:
第一种:提交时先调用一次验证方法,然后通过settimeout方法延迟执行网络请求的方式
$("#commit").click(function(){
var flag = $('#defaultForm').data("bootstrapValidator").isValid();
setTimeout(function(){
var flag2 = $('#defaultForm').data("bootstrapValidator").isValid();
if(flag2){
//过500毫米就会执行异步网络请求
}, 500);
});
第二种方式:一般页面编辑状态可以在获取数据以后及时调用验证方法
var codeval = $("#provider_info_form").find("input[name=code]").val();
//编辑状态的话验证数据
if(editable && codeval !=''){
$('#defaultForm').data("bootstrapValidator").isValid();
}