如果bootstrap-Validator验证通过,只是后台如账号冲突,success方法里面返回的是result.success = false时,
提示错误消息的同时,必须要销毁bootstrap-Validator验证。否则不关闭modal,再次提交的时候,虽然仍提交不成功,但会导致页面刷新,让人误解。
示例:
/*编辑设备登记的设备*/ $('#edit_btn').on('click', function() { $('#edit_form').bootstrapValidator(checkEditFrom()); //验证配置 var validator = $('#edit_form').data("bootstrapValidator"); //获取validator对象 validator.validate(); //手动触发验证 if (validator.isValid()) { //通过验证 lockUI(); $.ajax({ type: 'post', url: '/manage/web/device/editCheckin', data: $('#edit_form').serialize(), dataType: 'json', success: function (result) { unLockUI(); if (result.success) { MessageBox.success('提示', '编辑成功!'); $('.edit-checkin').modal('hide'); //关闭modal $table.bootstrapTable('refresh'); //刷新table } else { /*销毁验证,待点击重新进行验证*/ var validatorObj = $("#edit_form").data('bootstrapValidator'); if (validatorObj) { $("#edit_form").data('bootstrapValidator').destroy(); //或者 validatorObj.destroy(); 都可以,销毁验证 $('#edit_form').data('bootstrapValidator', null); } MessageBox.error('提示', result.msg); } }, error: function (e) { unLockUI(); MessageBox.error('提示', e); } }) } });