如何在不删除表单数据的情况下重置BootstrapValidator?

时间:2018-06-21 20:02:48

标签: javascript jquery twitter-bootstrap validation bootstrapvalidator

我在项目中使用BootstrapValidator。在验证器已初始化$(formSelector).bootstrapValidator(/*plugin options*/)之后,其他javascript可能会启用或禁用某些输入字段。我需要在不清除输入字段的情况下重新启动验证程序,以便验证程序检查所有已启用的字段并忽略已禁用的字段。

在禁用/启用字段之后,我尝试了$(formSelector).bootstrapValidator('resetForm', true);,但这会清除输入字段中的数据。

如果我不进行重设,则新启用的字段将不被验证,并且禁用的字段将阻止提交。

如何重新启动BootstrapValidator?

编辑:我在other question中尝试了该解决方案。它没有解决问题,大概是因为Validator首先没有作用于这些字段,所以它不能被“重置”吗?

1 个答案:

答案 0 :(得分:0)

我认为我已经解决了这一问题,首先销毁了BootstrapValidator实例,然后重新初始化它。

我们有一个初始化函数,

function initFormValidation () {
    $(formSelector).bootstrapValidator(/*plugin options*/)
}

启用/禁用输入字段后,我们销毁实例

var bootstrapValidator = $(form).data('bootstrapValidator');

if (bootstrapValidator != undefined)
    boostrapValidator.destroy();

然后重新初始化

initFormValidation();