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

knockout.js - ko.validation.group が認識されない

これは私が問題に直面している行です:

エラーが表示されています:

キャッチされていない TypeError: 未定義のプロパティ 'グループ' を読み取ることができません

のいずれかがko.validation.*認識されない

、を使用してjquery-1.7.1.jsおりknockout2.1.0knockout-validator.jsいくつかのフィールドの検証が必要です。

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

knockout.js - 条件に対するobservableArrayの検証

私は実験を試みており、きちんと整理して再利用できるように抽象化できるカスタム バリデータを作成するための巧妙なソリューションがあるかどうかを確認しています。

以下の jsfiddle では、Measurement の配列 (値と日付のみ) を格納する単純な親モデルをまとめました。この例では、2 つの要件を入れています。

  1. 各 Measurement には、両方のフィールドが指定されているか、どちらも指定されていないかのいずれかです。
  2. 親配列には、少なくとも 1 つの有効な (前の条件を満たしている) 測定値が必要です。

    理想的には、以下で行ったように、有効であることを定義するための検証ロジックを Measurement オブジェクト内に格納する必要があります。しかし、私が非常に不快に感じているのは、.NET の親モデルで実行しなければならない「実践的な」検証ですatLeastOne()

ノックアウト検証は、数字と日付の個々のフィールドを自動的に検証しますが、配列のルールに対して介入して検証を実行する必要があります。

質問: KO 検証をセットアップして、アレイが必要な条件であることを確認しながら、HasValuesメソッドがまだ測定モデルに存在することを可能にするアプローチはありますか? つまり、「少なくとも 1 つ」を検索するという概念を抽象化して、仕事を処理できる何らかのカスタム バリデーターに入れ、このバリデーターに「検証に使用してほしい関数は次のとおりです」と伝えるだけです。配列内の各アイテム。」

前もって感謝します!

ここに私の例があるjsfiddleがあります: http://jsfiddle.net/cACZ9/

0 投票する
0 に答える
1143 参照

knockout.js - Knockout Observable(Knockout Validation)からエクステンダーを削除します

vmプロパティの検証を実行するためにKnockoutValidationを利用しているKnockoutビューモデルがあります。特定のサブスクライバー関数内から「max」バリデーター値を変更しようとしています。これが私の試みであり、私が見ている振る舞いの説明が続きます。

検証(数量)を添付しようとしている監視可能なプロパティは、親の監視可能なオブジェクト(inventoryToPick)のプロパティであることに注意してください。今、私が見ている動作は、検証ルールがプロパティに追加されているということですが、最も低い値が優先されるようです。つまり、最大値ルールが最初のパスで30に設定され、次のパスで10に設定されている場合、検証は両方のパスで適切に適用されます。ただし、次のパスで最大値ルールを30(または10より大きい任意の値)に戻そうとすると、最大値10が引き続き適用されます。

適切な最大値の検証で初期化された新しいko.observableオブジェクトを使用してプロパティを設定することで、このバグを回避できる可能性があると思いましたが、問題は解決しませんでした。観察可能な増強されたノックアウトのためにエクステンダーを取り外す方法を知っている人はいますか?他に何か提案はありますか?

ありがとう、ヴィニー

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

knockout.js - ノックアウト検証でクリック ハンドラーが初めて防止される

ノックアウト検証プラグインが何らかの形でクリック ハンドラーの実行を妨げているようです。これが私の簡略化されたコードです。

HTML:

Javascript:

私のシナリオ:

  1. ページを読み込む
  2. [VALIDATE] をクリックします - エラー メッセージが表示され、アラートに FAILED が表示されます
  3. 入力に任意のテキストを入力し、すぐに VALIDATE をクリックします。エラー メッセージは消えますが、アラートは表示されません。
  4. VALIDATE をもう一度クリックします。SUCCEED テキストでアラートが表示されるようになりました。

最初のクリックから VALIDATE ボタンが正しく機能するように、これをどのように修正できますか?

ありがとう、イホール

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

validation - ノックアウト検証は、ロード時にすぐに評価されます

ビューモデルを検証するために、MVC、Knockout、およびKnockoutValidationを使用しています。

ロードするとすぐにビューモデルプロパティの検証が実行されるという問題が発生しています。つまり、ユーザーが値を変更しようとする前に、入力の横に「このフィールドは必須です」と表示されます。

この問題は、ドロップダウン(選択)コントロールで特に発生しています。

これは、JavaScriptコードの別の部分でオブザーバブルを意図せずに変更/アクセス/変更することによって作成した問題だと思います。しかし、これを追跡する方法がわかりません。

ノックアウト検証で検証を引き起こす火災が発生した場合でも、何らかの方法でサブスクライブまたは追跡できる方法はありますか?なぜこれがそのように発火しているのかを知る必要があります。isValid()関数の値が一貫してfalseであると私はかなり確信しています。

これは、ページの読み込み時にHTMLがどのように設定されているかのサンプルです。

ローカルマシンに表示されるとおり

0 投票する
5 に答える
14437 参照

knockout.js - Knockout-Validation でエラーをクリア

Knockout.js と Knockout-Validation を使用してページをセットアップしています。

ページの読み込み中に、選択ボックスに別のプラグインを配置して、変更を開始し、検証を開始しました。JS を使用してそのエラーをクリアできるようにする必要があります。これにより、新しい外観の UI から始めて、フォームの投稿または選択ボックスの変更に関するフィードバックを提供できます。

Knockout-Validation でエラーをクリアできるものが見つかりません。

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

knockout.js - ノックアウト検証で修正されたエラー

KnockoutJS と Knockout-Validation を使用しています。プロパティを使用していますerrorElementClassが、検証エラーが修正されたときに要素に別のクラスを割り当てられるようにしたいと考えています。このクラスは、要素にエラーが発生して修正された後にのみ、要素に割り当てられます。

誰かがこの種のことを試みましたか?

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

grails - ノックアウト検証のローカリゼーションに取り組む方法

ノックアウト.jsを使用してフィールドを検証しているビューページがあります。スペイン語、フランス語など、さまざまな国の言語で、つまりローカリゼーションを使用して自分のフィールドを検証したいと思います。el-GR.js、fr-FR.js、ru-RU.jsなどのファイルをjsフォルダーに追加して参照しました。では、どのようにしてmodalModal.jsページを検証またはチェックインできますか?

modalModal.js

0 投票する
0 に答える
377 参照

javascript - Knockout-先行入力付きの検証プラグイン

現在、 https://github.com/ericmbarnard/Knockout-Validationの検証プラグインを使用しており、入力ボックスなどのプレーンな値フィールドで正常に機能していますが、先行入力フィールドに表示される検証メッセージを取得できません。

タイプアヘッドが割り当てられているオブザーバブルには、必要な検証ルールが割り当てられており、プラグインはそれを検証できます。たとえば、空白の場合、isValid()を呼び出すとfalseが返されますが、検証メッセージは表示されません。

私の先行入力カスタムバインディングは次のとおりです。

次のように使用されます:

githubの問題に関する1つの投稿でko.bindingHandlers.validationCore.init(element, valueAccessor)は、バインディングのinitセクションの最後に貼り付けることを提案していますが、これは何の役にも立たないようです。

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

knockout.js - ノックアウト:正規表現と必要な検証が重複していますか?私のテストに合格しません

ViewModelには、次のように(同じプロパティで)正規表現の検証が必要ないくつかのプロパティがあります。

Jasmineを使用してテストしていますが、式と一致しない値を割り当てると、その値は無視され、そのプロパティにデータがないかのように「必須」の独自のテストが実行されることに気付きました。

テストを実行すると失敗します。エラーコレクションはエラーでいっぱいですが、数値であるはずの文字列を入力したためではありません。プロパティが空であると見なされるため、失敗します。「pattern」からのメッセージではなく、「required」からエラーメッセージが表示されます。

ここに画像の説明を入力してください

面白い部分は、UIで機能することです。そのため、そのプロパティにバインドされたフィールドに移動して文字列値を入力すると、正規表現の検証が実行され、フィールドの横に正しいエラーメッセージが表示されます。

私がここで欠けているものを誰かが指摘できますか?