問題タブ [ng-messages]
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.
angularjs - いくつかのボタンを正確にクリックせずに送信またはフォーカスを失ったときに ng-message を表示する方法 (キャンセル ボタン)
入力フィールドと送信ボタン、キャンセルボタンを備えたダイアログにフォームがあります。入力が間違っていることを示すために ng-message を使用します。しかし、ダイアログを無効にするために ng-click="$dismiss()" でキャンセルをクリックすると、ng-messageが表示され、アクションdismiss()が終了します。ケースを解決するためのいくつかの提案
angularjs - Angular - ユーザーがフィールドを編集した後にメッセージ onBlur を起動する
他の人と同じように、メッセージが攻撃的になりすぎないように、Angular でフォームを検証する良い方法を探していました。私が得た最も近いものは、メッセージを送信する前に $dirty と $touched をチェックすることです。これはほとんどの状況で機能します。
私が把握できない 1 つの状況は、ユーザーが必須フィールドなどを編集するときです。フィールドにテキストがあり、有効で、ダーティで、タッチされています。ユーザーはフィールドに戻って変更します。入力が汚れていて、触れられていて、無効であるため、入力にあるものをバックスペースすると、すぐにメッセージが発生します。その時点で「リセット」し、ユーザーが入力を再びぼかしたときに再評価したいと思います。入力がまだ集中している間に入力する機会を与えます。
わかる?何か案は?
ありがとう!マット
angularjs - Angular/ngMessages - パラメータ化されたメッセージ
カスタム検証メッセージを表示するために ngMessages (Angular 1.47) を使用しています。これは、ng-message-include を介して取り込まれる別の HTML ファイル内のメッセージとともに機能しています。
フィールドが範囲内にあることを検証したい (これは機能している) & 次に、その範囲を含むメッセージを表示します。範囲自体は DB から取得され、選択内容によって異なります。これを設定するための指針はありますか?これらの値をどこに置くべきかわかりません。また、このように設定したいフィールドがいくつかあります。
angularjs - Angular - ng-messages の複数のフィールド
私は使用してng-messages
おり、繰り返す必要なく、1 つのコード ブロックで複数のフィールドをチェックできるかどうかを知りたいです。
だから私は持っています:(メモcheckCustom
は私が書いたカスタムディレクティブです)
と
しかし、私はむしろ次のようなものを望んでいます:
このようなことは可能ですか?
ありがとう
angularjs - ngRepeat で SELECT の ID が必要ですが、「構文エラー: 列 ## のトークン '{' 無効なキー」を取得します
選択のグループを生成するために ng-repeat を使用しています。ほとんどの場合、機能します。
今、重複選択をチェックするカスタム ディレクティブのエラーを表示するように ngMessages を設定し、その SELECT を無効に設定しようとしています。
ただし、ngMessages ディレクティブ属性は Form1.Select_{{$index}} 構文を好みません。これは Form1.SELECT_0 などに解析する必要があります。この構文は ng-show 属性で機能することに注意してください。これをngMessagesで機能させるにはどうすればよいですか? 要素 $error 配列に ngMessages を設定する必要があります。
javascript - 動的フィールド名での ng-messages の使用
ng-repeat を使用して表示されるフィールドのリストがあります。入力フィールドの名前は動的です。動的な名前を使用するときに ng-messages を機能させるにはどうすればよいですか? 以下は私が試したものですが、これはうまくいきません:
javascript - ng-messages を使用した動的フォームの検証
主にフォームコントロールである再利用可能なコンポーネントを作成しようとしています。
このため、同じスコープ内のng-form
別の名前を上書きしないように、ディレクティブの動的な名前を作成する必要があると思います (これには別のアプローチがあるのではないでしょうか?)。ng-form
問題は、式が で機能しないため、検証できないことですng-messages
。
以下は非常に単純化されたデモです (テンプレート文字列が長くて申し訳ありません。これを stacksnippets に追加するより良い方法が見つかりませんでした)。ディレクティブのインスタンスは 1 つだけで、他の親スコープはありません。しかし、実際のシナリオではそれらが存在するため、フォーム名を動的に作成しています。
ご覧のとおり$id
、プレフィックス付きのスコープを使用してフォーム名を作成していますfg_
。しかし、それはうまくいかずng-messages="fg_$id.$error"
、ng-messages="fg_{{$id}}.$error"
エラーがスローされます。
これを行う適切な方法は何ですか? そうでない場合、どうすれば回避できますか?
PS:この質問、いくつかの類似したものや記事を読みましたが、この単純なシナリオに答えるものはありません
angularjs - ng-メッセージ asyncValidators
ユーザー名がサーバーに存在するかどうかを検証するディレクティブを作成しようとしています。存在する場合は、ng-messages を介してエラーを表示したいと考えています。しかし、何らかの理由でエラーが表示されません。サーバーの応答を確認したところ、正しい値が返されましたが、バリデーターが約束を解決できないようです...
うまくいかない理由はありますか?助けてくれてありがとう
javascript - Angular.js を使用して検証メッセージを表示しようとするとエラーが発生する
Angular.js を使用して検証メッセージを表示しようとすると、次のエラーが発生します。
エラー:
私は以下のコードを説明しています。
ここで、この検証メッセージを追加する<div class="help-block" ng-messages="billdata.upload_{{$index}}.$error" ng-if="billdata.upload_{{$index}}.$touched">
と、上記のエラーがスローされます。このエラーを解決するのを手伝ってください。
javascript - ngMessages で使用される templateURL へのフォームのパディング
私はAngularが初めてで、ディレクティブを試しています。
使えるようになりたい
そのようなカスタムディレクティブ内で、
ディレクティブ要素の下に ng-messages を使用して渡すことで動作させることができますが、その中にはありません。
フォームをテンプレートに渡す方法が本当にわかりませんが、ng-messages からアクセスできるようになります。
必要最小限のセットアップを示すためにプランカーをセットアップしました。
http://plnkr.co/edit/ELx6Fd2eLN4CJjEnzRGM?p=preview
require: '^form',
テンプレートの URL を使用/アクセスする方法がわかりませんが、フォームを要求する必要があることはわかっています。
私はしばらく頭をぶつけていたので、本当に助けていただければ幸いです!ありがとう。