0

タイトルが空の場合は価格が必要でした。ノックアウト検証のみオブジェクトの機能とパターンの検証がありません

私はコード

self.searchParameters = { 
    title: ko.observable().extend({ 
     refreshCountOffers: 500 
    }), 
    priceMax: ko.observable().extend({ 
     required: { 
     onlyIf: function() { 
      return title==null; 
     } 
     }, 
     refreshCountOffers: 500 
    }) 
    }; 

がありますが、私はエラー 'タイトルが定義されていません' を取得。

オプションを無効にする方法は、ユーザーが最初の文字を入力したときにパターンの検証にエラーが表示されますか?

postCode: ko.observable().extend({ 
    required: true, 
    pattern: { 
    message: 'Post code is not valid', 
    params: '[0-9]{2}-[0-9]{5}' 
    }, 
    refreshCountOffers: 500 
}) 

jsfiddle

+0

私はここで2つの質問をしたと思います。彼らが関連していないと(私は彼らがいるとは思わない)、別の質問でそれらを尋ねる必要があります –

答えて

0

onlyIfチェックと2つの問題があります。

  1. はあなたが値にアクセスする必要があるので、あなたは
  2. titleが観測可能であるtitleプロパティを修飾する必要が

以下のコードは両方とも解決します:

onlyIf: function() { 
    return self.searchParameters.title(); 
} 
+0

ありがとうございますが、私は "不明のプロパティ 'タイトル'を読むことができません" https://jsfiddle.net/llukaszz92/ybamy0du/3/ –

+0

これは、 'onlyIf'が最初に呼び出されたときに' self.searchParameters'が割り当てられていないためです。 [this fiddle](https://jsfiddle.net/ybamy0du/4/)では、 'searchParameters'の構築を個別の文にして、' onlyIf'が変数にアクセスできるようにしました –

関連する問題