問題タブ [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 に答える
7589 参照

knockout-validation - ノックアウト検証が機能していません

最も簡単な質問かもしれませんが、私はこれを解決することができません。私のページの検証が機能していません。すべての入力フィールドを空白のままにしてページを送信するたびに、「失敗」というアラートが生成されます。そして、すべてのフィールドに値を入力すると、データが正常に送信されます。

これが私のHTMLです:

そしてマイビューモデル(上記から続く):

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

knockout.js - 最初のアイテムを挿入した後、ノックアウト検証メッセージが機能しない

これに対する解決策が見つからないので、ここに私の問題があります:

コレクションにアイテムを追加できる小さなフォームの検証を設定しました(observableArray、後でDBに実際に保存します)。

検証は最初のアイテムに対しては正常に機能し、検証メッセージが表示されますが、2 回目は検証メッセージが表示されません (検証自体は機能し、アイテムを追加することはできません)。

これが私がすることです:

  1. たとえば、 newSchool オブジェクトで検証を設定します

    /li>
  2. MainViewModel で検証グループを作成する

    self.schoolErrors = ko.validation.group({ schools: self.newSchool }, { deep: true });

  3. MainViewModel: エラーをチェックし、そうでなければコレクションにプッシュし、newSchool オブザーバブルを新しいデフォルト値で初期化します

    /li>

デバッグ上の理由から、学校オブジェクトの検証済みオブザーバブルの isValid および isModified 値を出力しました。これらは問題ないようです。最初のアイテムを挿入した後、 isValid と isModified は両方ともfalseに返されます。

唯一の問題は、前述のとおり、検証メッセージが表示されなくなったことです。

私にとっても奇妙です。計算フィールドに対して検証する必要がある1つのケースを除いて、カスタム検証メッセージテンプレートを使用しません。これは表示されますが、「組み込み」の検証メッセージは表示されません。

何か案が?

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

knockout.js - ノックアウト検証は、デフォルトで検証メッセージを表示する必要がありますか?

ノックアウト検証プラグインを使用しています。次のように非同期ルールを作成しました。

https://github.com/ericmbarnard/Knockout-Validation/wiki/Async-Rules

検証により、通常のデフォルトの検証メッセージが表示されますか?

検証されていることはわかり.isValidating.subscribeますが、検証メッセージも表示することを意図しているのか、それとも自分でカスタマイズする必要があるのか​​ はわかりません。

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

knockout-validation - ノックアウト検証プラグイン、特定のプロパティからisValidを取得

ノックアウト検証プラグインで有効なプロパティが1つだけかどうかを確認することはできますか?

ドキュメントにはそれへの参照はなく、モデル全体が有効かどうかを確認する機能しかありませんでした。

たとえば、計算されたオブザーバブルが、別のオブザーバブルが有効かどうかに応じて異なる値を持つようにします。

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

asp.net-mvc - ノックアウト検証-高度な検索ユーザーインターフェイス

TFSクエリビルダーのWebインターフェイスに似た高度な検索UIを構築しています。クライアント側の実装にノックアウトを使用し、特定の必須項目が基本的に選択されていることを確認するための最終検証を除いて、ほぼすべてが機能するようにします。アイテムを選択してからアイテムの選択を解除すると、検証エラーが発生する限り、これはある程度機能します。これで問題ありませんが、検索ボタンを押したときにフォームを検証してもらいたいのですが。

ko.validatedobservableメソッドを使用する必要があると確信していますが、正確な方法はわかりません。とにかく、私は見るべきフィドルを持っています: 誰かが私を助ける時間または傾向があるならばhttp://jsfiddle.net/sstolp/uXBSA/ 。よろしくお願いします。

お時間をいただきありがとうございます。

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

knockout.js - ノックアウト検証: v​​alidatedObservables のコレクションを使用すると予期しない動作が発生する

validatedObservableオブジェクトのコレクションで構成されるビュー モデルを検証しようとすると、予期しない動作が発生します。実際には、ネストされたコレクションです。

まず、動作を示す JSFiddle を紹介します: http://jsfiddle.net/cbono/ZTXB9/8/

私のビューモデルはAppオブジェクトです。これには、オブジェクトのコレクションである単一のプロパティServicesServiceが含まれます。各 Service には、ご想像のとおり、オブジェクトのコレクションであるRetailersRetailerプロパティが含まれています。各オブジェクトは、validatedObservable としてインスタンス化されるためisValid、最上位のオブジェクトを呼び出して、子オブジェクトのすべてのエラーを見つけることができます。

ライブラリを初期化するときは、次を使用します。

私が有効にしている唯一の検証ルールは、Retailer オブジェクトに対するものです。小売業者が選択され、小売業者の名前が「その他」( (IsSelected() && IsOther()) === true) の場合、OtherDescプロパティが必要です。それでおしまい。それ以外の場合、小売業者は有効です。

ルールをテストすると ([その他] チェックボックスの 1 つをオンにして、付随する [説明] フィールドを空白のままにします)、期待どおりに検証が失敗します。ただし、ビュー モデルのerrorsコレクションには次のものが含まれます。

self.errors.showAllMessages()さらに、呼び出されたときに JS コンソールでこのエラーが発生します。

これら 2 つの問題が関連していることは確かですが、舞台裏で何が起こっているのかをまとめることはできませんでした。検証ライブラリがオブジェクト グラフをウォークしているとき、正しい型ではない (したがってメソッドがない) オブジェクトを取得しているため、エラー コレクションにundefinedIsModifiedの束が配置されているようです。

ライブラリを意図したとおりに使用していませんか? モデル検証のアイデアが本当に好きなので、これを機能させるために一生懸命努力しています。jquery.validate などでこの検証を再作成するのは、はるかに複雑です。

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

c# - 動的フォームでのノックアウト検証

いくつかの条件に基づいて表示されるフィールドを含むフォームがあります (ここでは関係ありません)。何が起こるかというと、可視性に基づいてフィールドを検証したいということです。

これまでのところ、ルール (required など) を変更または無効にすることはできませんでした。

次に例を示します。

私のjsには、フォームのフィールドの可視性を制御するための観察可能なプロパティを持つビューモデルがあります。チェックボックスがオンの場合、メール入力が表示され、必須になります。ただし、チェックされていない場合、検証ルールは空の電子メール入力を許可する必要があります。

私のビューモデルでは、次のようなものがあります

問題は、検証ルールを変更または削除する方法です。

ありがとう

0 投票する
3 に答える
4098 参照

knockout.js - マッピングプラグインと検証プラグインを一緒に使用してノックアウトします。クライアントエラーの取得

私はノックアウトjsを使用して、バックエンドでasp.netmvc4を使用してアプリケーションを構築しています。knockout.mappingを使用して、MVCサービス呼び出しからオブザーバブルにデータを入力しています

次に、Knockout.Validationプラグインを使用して検証を追加しようとしています。

実行すると、次のエラーが発生します。

デバッグすると、sDetailが空になっていることがわかります。ApplyBindingsを適用すると、入力が正しく入力されます。どの時点で、koviewmodelのプロパティにアクセスできます。この問題を回避する方法はありますか?

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

asp.net-mvc-3 - onlyIf による検証が機能しない

やろうとすると問題が発生します:

これが機能しないことに気付きましたが、コードを次のように戻すと、正常に機能します。

http://sdrv.ms/WJC3fS

https://skydrive.live.com/redir?resid=33048714B5BF3B4B!2027