knockout.js - 如何从现有的可观察物中移除增量剂?

标签 knockout.js knockout-validation knockout-extensions

我正在使用Knockout Validation插件,并使用扩展程序根据需要设置可观察的对象:

myObservable.extend({required:true});

添加后,是否可以移除扩展器?

最佳答案

您可以通过调用ko验证添加的可观察项中删除所有与验证相关的属性:

myObservable.extend({validatable: false});

或者,如果您只想删除所需的验证,则可以将其从rules集合中删除:
myObservable.rules.remove(function (item) {
        return item.rule == "required";
    });
}

演示JSFiddle

但是ko验证支持conditional validation,因此您可以在验证有效时指定一些条件,所以也许这是您需要的:
myObservable.extend({
    required: {
        message: "Some message",
        onlyIf: function () { return //some condition; }
    }
});

关于knockout.js - 如何从现有的可观察物中移除增量剂?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17120416/

相关文章:

knockout.js - 设置 Knockout ViewModel 进行验证

javascript - knockout 延期问题 - 更好的解决方案?

knockout.js - 检查扩展是否应用于 observable

javascript - 如何使用 jQuery 在 ASP.NET MVC 中上传文件?

forms - 验证knockout.js 表单?

mvvm - 输入按键的 knockout 事件绑定(bind)导致奇怪的行为

knockout-validation - KO 验证和 bootstrap-datetimepicker

javascript - 跟踪 knockout js 中输入值的变化

javascript - KnockoutJS 强制计算的 Observable 重新计算