問題タブ [knockout-validation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
2165 参照

asp.net-mvc - MVCによって渡されたすべてのアイテムリストのプロパティにノックアウト検証を適用する方法は?

以下は、ASP.NET MVC のビュー モデルです。

これはビューに渡され、ノックアウト ビュー モデルを定義する際に次のように表示されます。

Email.Selectedであることを確認したいrequired。単一のオブジェクトではなく、リストを使用してそれを行う方法。それが最も簡単な質問であることはわかっていますが、このトピックに関するものは何も見つかりませんでした。

残念ながら、Fluent とデータ注釈はノックアウトでは機能しないため、クライアントでノックアウト検証を使用します。

0 投票する
1 に答える
1711 参照

asp.net-mvc - 宣言的な方法で複雑なMVCモデルのノックアウト検証を行う方法は?

技術的にはこの質問に対する答えはありますが、残念ながら私が探していた答えではありません。その人がずっと私と一緒に働いて、多くの努力を費やしたので、私はそれを受け入れなければなりませんでした。ここで私は同じqnに、私が求めている答えを具体的に取得するように求めています。

私が求めているのは、ノックアウトビューモデルのモデルフィールドの検証を宣言的に表現する方法です。

このMVCビューモデルを持つ:

そしてこのノックアウトを持っているviewModel

viewModelそれを宣言的に表現するには、Knockoutでどのような変更を加える必要がありますか。viewModel基本的には、MVCと同様の方法でノックアウトを表現することになりますが、そのモデルのフィールドで( MVCデータ注釈の代わりに)ノックアウト検証を使用します。

答える前に最後まで読んでください。読むべきテキストはそれほど多くありませんが、ここで具体的なものを探しています。

0 投票する
1 に答える
3259 参照

javascript - Knockout JSで多次元配列を処理する最良の方法は何ですか?

ノックアウトで多次元配列を扱う標準的な方法は何ですか?

KnockoutJS を使用して動的テーブルを生成するとします。テーブルの行と列は、observableArrays から生成されます。各セル内のデータもオブザーバブル (テキスト ボックスにバインドされたデータ) です。各セル内のデータも、ノックアウト検証で検証する必要があります。

私はそのようなものを使ってテキストボックスの値を生成しています:

これは、tbody の 2 つの foreach 内にあります。

うまく機能しますが、編集しているアイテムに応じてデータを動的に変更できる必要があります。列または行の数を変更するとすぐに、あらゆる種類の問題が発生します。スロットルエクステンダーを使用して、レンダリングの前に行と列の両方が観察可能になるまでレンダリングを待機させることで、これらの問題の多くを軽減しました。

現在編集中の項目を変更するたびに、単純な JavaScript 配列を使用して qty[][] 多次元配列を再生成し、実際の値はそれぞれ観察可能です。

これは私が持っている典型的な問題の例です。この特定の例では、数量値 (セル) の最小値と最大値を検証します。しかし、行または列が少ないテーブルを再バインドすると、次の例外 (Uncaught TypeError: Cannot read property 'rules' of undefined) が発生します。行と列の observableArrays を変更しています。バインディング data-bind="$root.qty[$index()][$parentContext.$index()]" は無効になりました。バウンド。

私は何が欠けていますか?

ありがとう!

0 投票する
1 に答える
530 参照

knockout.js - ApplyBindings 2 回、検証

複数のビジネス オブジェクトを含むグリッドがあります。それらを製品と呼びましょう。項目をクリックすると、AJAX 呼び出しを実行してデータを取得し、モーダル「ウィンドウ」にバインドされた Knockout viewModel を作成します (ブートストラップを使用)。ユーザーは製品を変更できます。たとえば、名前を別の名前に変更したり、キャンセルまたは保存を押したりできます。ユーザーが保存/キャンセルを押すと、グリッドに戻り、別の製品をクリックして、新しい製品でモーダルをポップアップできます (データを取得するための別の AJAX 呼び出しなど)。

さて、私は再び KO.applyBindings(viewModel) を呼び出していました。それは悪い考えかもしれないと思います。私が気付いているのは、ユーザーが名前を入力しない場合 (必須)、「名前が必要です」という 2 つの検証メッセージが表示されることです。したがって、これは、2 つのイベントをバインドする必要があることを示しています (または何か)。そのため、いくつかの Google 検索を行ったところ、applyBindings を 2 回呼び出す場合に ko.cleanNode(node) を使用している記事がいくつか見つかりました。それは私の問題を解決しませんでした。私は knockout.validation.js を使用しており、 name プロパティを次のように拡張しています。

拡張または unApplyBindings をクリアする方法はありますか? それとも、KO を間違って使用しているだけですか? 私はそれが本当に好きですが、あなたがやりたいことをするのに時間がかかります(それが彼らが私にお金を払う理由です). 必要に応じて、これを実証するために Fiddle を作成することができます..

0 投票する
1 に答える
3546 参照

validation - Knockout-Validation で計算されたプロパティで観察可能なプロパティの値を取得する方法

Knockout-Validation フレームワークを使用して、viewModel を検証します。

次のように定義されたビューモデルがあります。

form_onsubmit 関数で property1 の値を取得できますが、計算されたプロパティ「property2」では機能しません。

それを解決する方法、ありがとう!!!!!!!!!

0 投票する
1 に答える
1966 参照

knockout-validation - ノックアウト検証を使用してビューモデルで isValid() 関数を呼び出す方法

次のように定義されたビューモデルがあります。

関数を呼び出すとform_onsubmit、エラーが発生しました:

解決方法、よろしくお願いします(^^)

0 投票する
1 に答える
180 参照

knockout-validation - ノックアウト検証フレームワークを使用して、計算フィールドで観察可能なフィールドの検証結果の 1 つを取得する方法

私は次のように定義されたビューモデルを持っています:

上記のコードを見るとわかるように、性別フィールドと生年月日フィールドは、ID コードから取得される計算フィールドです。実行する前に、ID コードの検証結果を取得する方法を知りたいだけです。ありがとう!

0 投票する
2 に答える
4774 参照

knockout.js - Knockout Validation でバインドした直後に検証メッセージを表示する

ノックアウト検証では、観察可能な値を変更する可能性のあるコントロールでキーがヒットされた場合にのみ検証が実行されるようです。

初めてバインドするとき、検証は実行されません (初期値が無効な場合、メッセージは表示されません)。検証が実行されるように、入力コントロールの 1 つに注目して手紙を書き、フォーカスを外すだけで済みます。

最初のバインドの直後に、各コントロールの周りのすべてのメッセージを再帰的に表示するにはどうすればよいですか? 私は解決策を試しましたgroupが、ネストされた階層がありvalidatedObservable、maxStackSize を超えています

0 投票する
1 に答える
2788 参照

jquery - ノックアウトカスタムバインディングforeach

KnockoutJS検証ライブラリのエラーへのリンクのリストを含む検証サマリーを作成しようとしています。それを表示するためのカスタムforeachハンドラーを作成する必要があります。

以下のコードで私が達成しようとしているのは、errors()リストの変更をリッスンし、検証の要約を作成する機能です。私は実際には「エラー」リストを使用しません(これは単なる文字列のリストであるため)が、変更をリッスンするために使用します。

私が見たもの(やや関連している)から、スコープが間違っています-「ko.applyBindingsToDescendants」のように子要素のViewModelを期待していますが、これを実装する方法がわかりません。

これは私の現在のバインディングコードです:

そして私のテンプレート:

0 投票する
2 に答える
1963 参照

javascript - 既存のビューモデルへのノックアウトJS検証

これは変更されていない私の現在のコードです:http://jsfiddle.net/XABtF/

現在、jQuery検証ノックアウト検証の両方を使用しています

両方のドキュメントを読み、既存のスクリプトに実装しようとしましたが、どちらも正常に実行されませんでした。ノックアウト検証の実装を試みた方法は次のとおりです。http://jsfiddle.net/yNVeF/

私のスクリプトは非常に単純です。次のような2つのオブザーバブルに検証を加えたいと思います。

私はこのようにそれをやってみました: