我有一个与Knockout Validation evaluates immediately on load非常相似的问题,只有那里提供的解决方案对我不起作用,因为我无法使用""来初始化observable。因为它是一个带有逻辑的计算可观察量。
我还尝试将其绑定到下拉列表:
value: computedObservable()
或:
value: function(){computedObservable}
或:
value: function(){computedObservable}()
而不是:
value: computedObservable
观察者本身被定义为:
viewModel.computedObservable = ko.pureComputed({
write: function (value) {
viewModel.observable(value);
},
read: function () {
return viewModel.isObservableComputed() ? viewModel.existingModel().observable() : viewModel.observable();
}
}).extend({ required: true });
如何阻止加载验证(它显示在引导模式中)但仍然会在保存时触发验证?
答案 0 :(得分:0)
我目前的解决方案是使用条件验证并最初将其设置为false并检查onlyIf中的另一个(必需)字段,因此只有当另一个具有值时才需要此字段。
更好的解决方案仍然非常受欢迎。