19

条件文でKnockoutValidationを使用しようとしています。以下のコードを参照してください。

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

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

残念ながら、これは機能しません。値が必要な場合にのみConditionalField必要とします。transactionType'Option2'

ノックアウト.検証.jsで条件付き検証を使用する最良の方法は何ですか?

4

1 に答える 1

38

私はそれを解決しました。

まず、 をtransactiontype定義した後に を宣言するという間違いを犯しましたconditionalfield。動作する終了コードは次のようになります。

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

self.conditionalField = ko.observable().extend({
  required: {
    onlyIf: function () { 
      return self.transactionType () == "Option2";
    }
  }
});
于 2012-07-31T11:18:16.010 に答える