相关疑难解决方法(0)

bootstrapValidator:如何动态地向现有输入字段添加和删除验证器?

我有一个动态表单,绑定knockout.js和验证bootstrapValidator.

根据另一个控件的状态,有一个输入字段需要"必需 - 验证".

输入字段:

<textarea id="inputReason" name="inputReason" rows="3" 
          class="form-control col-lg-8"
          data-bind="value: Reason" />
Run Code Online (Sandbox Code Playgroud)

knockout-viewmodel的相关javascript部分:

self.SelectAbsenceType = function (absenceType) {
    self.SelectedID(absenceType.ID);

    if (self.SelectedAbsenceType().ReasonRequired) {
        $('#formCreate').bootstrapValidator('addField', 'inputReason', {
            validators: {
                notEmpty: {
                    message: 'Please enter a reason'
                }
            }
        });
    } else {
        $('#formCreate').bootstrapValidator('removeField', 'inputReason');
    }
}
Run Code Online (Sandbox Code Playgroud)

我面临的问题是removeFieldbootstrapValidator实例的调用似乎并没有完全删除所有注册信息,因为updateStatusbootstrapValidator类的方法中存在一个javascript异常,实际上根本不应该调用它,因为我已经删除了该字段之前:

var that  = this,
    type  = fields.attr('type'),
    group = this.options.fields[field].group || this.options.group,
    total = ('radio' === type || 'checkbox' === type) …
Run Code Online (Sandbox Code Playgroud)

javascript jquery knockout.js twitter-bootstrap-3 jqbootstrapvalidation

2
推荐指数
1
解决办法
1万
查看次数