【问题标题】:Make ko validation only validate visible items使 ko 验证仅验证可见项目
【发布时间】:2013-05-06 09:32:20
【问题描述】:

我的视图中分散了一些项目,这些项目根据日期、下拉选择等可见。我想使用 ko 验证,因为它很好地将验证逻辑放入我的模型中,而不必像使用 jquery 验证那样使用愚蠢的形式。

我看到 jquery 验证的好处是它只验证可见项目,即使它们具有所需的类。有没有办法从 ko 验证中获得这个功能?

【问题讨论】:

    标签: knockout.js knockout-validation


    【解决方案1】:

    在您的淘汰赛模型中,我想您应该有一个可见度标志。您可以根据标志使用onlyIf 选项。比如:

    self.IsFieldVisible = ko.observable(true); //Or False
    self.FieldToValidate= ko.observable().extend({
      required: {
        onlyIf: function () { 
          return self.IsFieldVisible();
        }
      }
    });
    

    【讨论】:

    • 如果我需要隐藏其他类型的验证消息(例如,检查它是否为数字)怎么办?
    • 您可以将onlyIf 用于任何验证类型,甚至是自定义验证。看看这个question,看看它是如何与自定义验证一起工作的
    猜你喜欢
    • 1970-01-01
    • 2018-10-03
    • 1970-01-01
    • 2014-08-27
    • 1970-01-01
    • 2011-12-08
    • 2011-03-30
    • 2015-07-16
    • 1970-01-01
    相关资源
    最近更新 更多