我在项目中使用BootstrapValidator。在验证器已初始化$(formSelector).bootstrapValidator(/*plugin options*/)
之后,其他javascript可能会启用或禁用某些输入字段。我需要在不清除输入字段的情况下重新启动验证程序,以便验证程序检查所有已启用的字段并忽略已禁用的字段。
在禁用/启用字段之后,我尝试了$(formSelector).bootstrapValidator('resetForm', true);
,但这会清除输入字段中的数据。
如果我不进行重设,则新启用的字段将不被验证,并且禁用的字段将阻止提交。
如何重新启动BootstrapValidator?
编辑:我在other question中尝试了该解决方案。它没有解决问题,大概是因为Validator首先没有作用于这些字段,所以它不能被“重置”吗?
答案 0 :(得分:0)
我认为我已经解决了这一问题,首先销毁了BootstrapValidator实例,然后重新初始化它。
我们有一个初始化函数,
function initFormValidation () {
$(formSelector).bootstrapValidator(/*plugin options*/)
}
启用/禁用输入字段后,我们销毁实例
var bootstrapValidator = $(form).data('bootstrapValidator');
if (bootstrapValidator != undefined)
boostrapValidator.destroy();
然后重新初始化
initFormValidation();