【问题标题】:bootstrapValidator: Reset clears required iconsbootstrapValidator:重置清除所需的图标
【发布时间】:2014-09-14 20:43:03
【问题描述】:

我正在初始化链接中给出的 bootstrapValidator:

http://bootstrapvalidator.com/examples/showing-required-icon/

但是当我重置表单时,我怎样才能再次显示所需的图标?我正在使用以下代码重置表单:

$(form).data('bootstrapValidator').resetForm('resetForm', true);

谢谢。

【问题讨论】:

    标签: jquery twitter-bootstrap validation


    【解决方案1】:

    调用resetForm 后,需要为表单中的每个字段重新调用初始化代码。例如,要重置“名称”字段:

    var field = $('#productForm input[name="name"]');
    field.trigger('init.field.bv', { 
        bv: $('#productForm').data('bootstrapValidator'),
        field:'name',
        element:field})
    

    我相信您可以使用 $.each 进行设置,但我没有做到这一点。

    【讨论】:

      【解决方案2】:

      这样就可以了!在 resetForm 之后,所有字段都处于 'NOT_VALIDATED' 状态,并且插件会触发一个事件。

            $('#YourForm').on('status.field.bv', function(e, data)
              {
                  if( data.status == 'NOT_VALIDATED')
                  {
                      var $parent    = data.element.parents('.form-group'),
                          $icon      = $parent.find('.form-control-feedback[data-bv-icon-for="' + data.field + '"]'),
                          options    = data.bv.getOptions(),                      // Entire options
                          validators = data.bv.getOptions(data.field).validators; // The field validators
      
                      if (validators.notEmpty && options.feedbackIcons && options.feedbackIcons.required) {
                          $icon.addClass(options.feedbackIcons.required).show();
                      }
                  }
              });
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-02-02
        • 2023-02-18
        • 2020-10-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多