【发布时间】:2014-04-16 00:34:40
【问题描述】:
我在我的项目中使用Knockout-Validation。 我有模型,如果 qustion 回答为是,我需要确保提供详细信息:
function Model() {
'use strict';
var self = this;
self.question1 = ko.observable(false);
self.question1Details = ko.observable('');
self.question1Details.extend({
required: {
onlyIf: function () {
return self.question1() === true;
}
}
});
}
比我这样使用它:
var model = ko.validatedObservable(new Model());
但无论我做什么,model.isValid() 总是正确的。即使 model().question1Details.isValid() 为假。
我试图指定
ko.validation.init({ grouping : { deep: true, observable: true }, insertMessages:true }, true);
但这并没有帮助。
有趣的事情,如果我将验证规则更改为:
self.question1Details.extend({
required: true
}
});
比它工作正常。所以我怀疑 onlyIf 有问题,或者我用错了。
【问题讨论】:
-
你有想过这个吗?我现在正在处理这个问题。
标签: javascript validation knockout.js single-page-application knockout-validation