在使用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() {});中,基本可以比较完美的解决此问题了。