淘汰验证和条件要求规则

时间:2012-07-31 11:01:01

标签: javascript knockout.js knockout-validation

我正在尝试将KnockoutValidation用于条件语句。请参阅以下代码:

self.transactionType = ko.observable('Option1');

self.ConditionalField = ko.observable().extend({
  required: true, 
  onlyIf: self.transactionType = ="Option2"
});

不幸的是,这不起作用。我希望ConditionalField仅在transactionType具有值'Option2'时才需要{{1}}。

使用knockout.validation.js的条件验证的最佳方法是什么?

1 个答案:

答案 0 :(得分:37)

我已经解决了。

首先,在我定义transactiontype之后,我犯了错误的声明conditionalfield。有效的结束代码如下所示:

self.transactionType = ko.observable("Option1");

self.conditionalField = ko.observable().extend({
  required: {
    onlyIf: function () { 
      return self.transactionType () == "Option2";
    }
  }
});