KnockoutValidation和条件必需规则

Mou*_*him 18 javascript knockout.js knockout-validation

我试图使用条件语句KnockoutValidation.见下面的代码:

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

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

不幸的是,这不起作用.我想要ConditionalField只有transactionType有价值的要求'Option2'.

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

Mou*_*him 37

我已经解决了.

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

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

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

  • 嗯,有人说托马斯爱迪生在发明第一个商业实用的白炽灯之前有3000次尝试失败.http://en.wikipedia.org/wiki/Thomas_Edison#cite_note-28,但我觉得你的答案也很有启发......谢谢&+ 1 (8认同)
  • 可悲的是,这种情况只有在任何地方都没有记录.谢谢! (2认同)
  • [onlyIf 文档](https://github.com/Knockout-Contrib/Knockout-Validation/wiki/Conditional-Validation-with-onlyIf-parameter) (2认同)