我正在使用 Knockout Validation 插件并使用扩展器根据需要设置一个 observable:
myObservable.extend({required:true});
我可以在添加后删除扩展器吗?
我正在使用 Knockout Validation 插件并使用扩展器根据需要设置一个 observable:
myObservable.extend({required:true});
我可以在添加后删除扩展器吗?
您可以从可观察对象中删除所有验证相关属性,这些属性是由 ko 验证通过调用添加的:
myObservable.extend({validatable: false});
或者,如果您只想删除所需的验证,您可以将其从rules
集合中删除:
myObservable.rules.remove(function (item) {
return item.rule == "required";
});
}
演示JSFiddle。
但是 ko 验证支持条件验证,因此您可以在验证应该工作时指定一些条件,所以也许这就是您需要的:
myObservable.extend({
required: {
message: "Some message",
onlyIf: function () { return //some condition; }
}
});