前言
form表單送出之前,需先校驗資料合法性,當連續送出時,重置了form表單,校驗方法也需要跟着重置
遇到問題
參考前面一篇https://www.cnblogs.com/yoyoketang/p/15745166.html,重置表單後,

表單校驗并沒有重置
formvalidation校驗
表單校驗器
// 表單校驗器
function validate_model_form(id){
$(id).formValidation({
message : 'This value is not valid',
icon : {
valid : 'glyphicon glyphicon-ok',
invalid : 'glyphicon glyphicon-remove',
validating : 'glyphicon glyphicon-refresh'
},
fields : {
project_name: {
message : '項目名稱校驗不通過',
validators : {
notEmpty : {
message : '不能為空'
},
stringLength: {
min: 1,
max: 30,
message: '項目名稱1-30位字元' },
regexp: {
regexp: /^[\u0391-\uFFE5A-Za-z0-9_\s]+$/,
message: '項目名稱不能有特殊字元'
}
}
},
responsible_name : {
validators : {
stringLength: {
max: 30,
message: '最大30位字元' },
regexp: {
regexp: /^[\u0391-\uFFE5A-Za-z0-9_\s]+$/,
message: '不能有特殊字元'
}
}
},
test_user : {
validators : {
stringLength: {
max: 30,
message: '最大30位字元' },
regexp: {
regexp: /^[\u0391-\uFFE5A-Za-z0-9_\s]+$/,
message: '不能有特殊字元'
}
}
},
publish_app : {
validators : {
stringLength: {
max: 30,
message: '最大30位字元' },
regexp: {
regexp: /^[\u0391-\uFFE5A-Za-z0-9_\s]+$/,
message: '不能有特殊字元'
}
}
},
project_desc : {
validators : {
stringLength: {
max: 200,
message: '最大200位字元' }
}
}
}
})
}
// 頁面初始化需調用校驗方法
$(function() {
validate_model_form('#add-model-form');
});
當送出過一次後,form表單初始化了,再次彈出模态框編輯時,校驗方法沒重置,于是需重置校驗
// 銷毀校驗
$("#add-model-form").data('formValidation').destroy();
$("#add-model-form").data('formValidation', null);
// 重新初始化校驗
validate_model_form('#add-model-form');
寫到ajax送出成功後,success後面
var $form = $("#add-model-form");
success: function (data) {
if (data.code == 0) {
// 修改成功,收回模态框
$("#addModal").modal('hide');
// 重置form
$form[0].reset();
// 銷毀校驗
$form.data('formValidation').destroy();
$form.data('formValidation', null);
// 重新初始化校驗
validate_model_form('#add-model-form');
}
再次編輯時,就會重新校驗