我有一个动态表单,它绑定knockout.js
并由bootstrapValidator
.
有一个输入字段需要根据另一个控件的状态进行“必需验证”。
输入字段:
<textarea id="inputReason" name="inputReason" rows="3"
class="form-control col-lg-8"
data-bind="value: Reason" />
淘汰视图模型的相关 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');
}
}
我面临的问题是removeField
对bootstrapValidator
实例的调用似乎并没有完全删除所有注册信息,因为类的updateStatus
方法中有一个javascript异常bootstrapValidator
,实际上根本不应该调用该异常,因为我已经删除了该字段前:
var that = this,
type = fields.attr('type'),
group = this.options.fields[field].group || this.options.group,
total = ('radio' === type || 'checkbox' === type) ? 1 : fields.length;
异常:无法获取属性“组”的值:对象为空或未定义
该变量field
包含值“inputReason”。
所以我的问题是这样的(因为 bootstrapValidators 的文档removeField
对此并不完全清楚:如何删除字段 inputReason completey 的动态添加验证?
(旁注:有人可以添加标签 boostrapvalidator 吗?)