【发布时间】:2013-05-06 09:32:20
【问题描述】:
我的视图中分散了一些项目,这些项目根据日期、下拉选择等可见。我想使用 ko 验证,因为它很好地将验证逻辑放入我的模型中,而不必像使用 jquery 验证那样使用愚蠢的形式。
我看到 jquery 验证的好处是它只验证可见项目,即使它们具有所需的类。有没有办法从 ko 验证中获得这个功能?
【问题讨论】:
标签: knockout.js knockout-validation
我的视图中分散了一些项目,这些项目根据日期、下拉选择等可见。我想使用 ko 验证,因为它很好地将验证逻辑放入我的模型中,而不必像使用 jquery 验证那样使用愚蠢的形式。
我看到 jquery 验证的好处是它只验证可见项目,即使它们具有所需的类。有没有办法从 ko 验证中获得这个功能?
【问题讨论】:
标签: knockout.js knockout-validation
在您的淘汰赛模型中,我想您应该有一个可见度标志。您可以根据标志使用onlyIf 选项。比如:
self.IsFieldVisible = ko.observable(true); //Or False
self.FieldToValidate= ko.observable().extend({
required: {
onlyIf: function () {
return self.IsFieldVisible();
}
}
});
【讨论】:
onlyIf 用于任何验证类型,甚至是自定义验证。看看这个question,看看它是如何与自定义验证一起工作的