1. 程式人生 > >bootstrap關閉modal後,如何清空modal裡的bootstrapValidator的校驗痕跡

bootstrap關閉modal後,如何清空modal裡的bootstrapValidator的校驗痕跡

在使用bootstrapValidator和modal結合使用時,出現的關閉modal後,再次開啟modal,之前的驗證會一直保留,並沒有像官網example裡那樣靈活驗證,不知道問題在哪隻能強行清空。

強行移除自動新增的class,以及隱藏提示元素(此處不可以remove,因為bootstrapValidator源js中是在初始化驗證時,建立此元素,之後只進行隱藏和顯示操作,如果remove該元素會影響之後的校驗)。

$(seletor).on("hidden.bs.modal", function() {
$("div.form-group").removeClass("has-feedback has-success has-error");//移除所有class="form-group"屬性的所有div
$(".help-block").hide();//隱藏所有class="help-block"的提示元素
});

===============================割===============================================================

折騰幾天發現上述方法並不能很靈活的完成校驗的清空,還是有很多麻煩的小bug,無奈去官網查詢api,發現了一個方法resetForm:

resetForm(resetFormData) — Reset form. It hides all error elements and feedback icons. All the fields are marked as not validated yet.

意思是:"重置表格,隱藏所有的錯誤元素以及反饋圖示,所有的屬性域都保持為校驗的狀態";
這正是我們想要的效果(查詢開發文件的重要性啊),具體的實現語法格式如下:

$(formSelector).data('bootstrapValidator').resetForm();

這下我們可以刪掉之前的清除校驗語句,直接將上述段語法放入$(selector).on("hidden.bs.modal", function() {});中,基本可以比較完美的解決此問題了。