問題タブ [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 - アニメーションの進行中に $error が変化すると ng-message が消える
カスタム非同期バリデータを含むフォームがあります。入力フィールドの値が無効な場合でも、エラー メッセージが表示されない場合があることに気付きました。
通常のバリデーターで問題を再現できました: codepen の例
HTML:
JS:
値をゆっくり入力すると、エラー メッセージが正しく表示されて消えます。しかし、入力が無効であっても、すばやく入力するとエラーメッセージが消えます。エラー メッセージのアニメーションが進行中に $error の値が変化すると、問題が発生するようです。
私が間違ったことはありますか?
javascript - Angularjs - ng-file-upload で (bootstrap-fileinput を使用して) ファイルをクリアした後に ng-messages が更新されない
ファイル入力からファイルを本当に削除\削除する方法はありますか? 例: ファイルを選択すると、クライアント側のエラー (maxSize) が表示され、その ng-messages が表示されますが、ファイルを削除した後も ng-messages が表示されたままになり、データをサーバーに送信すると、削除されたファイルが送信されます。
他のファイルを選択しても、エラー メッセージが表示されます。
モデルが更新されていないことが問題だと思いますが、解決する方法はありますか?最新バージョンのAngularjs 1.4.4を使用しています
コード:
よろしく、ゴネン。
angularjs - angular-messages ネストされたディレクティブ、他のディレクティブと連携させる方法
私はその力を発見するためにAngularJSをいじっていますが、ドキュメントがあまり開発されていないことを認めなければならないので、ネストされたディレクティブで直面している問題についてここでコミュニティに尋ねています.
私は、完成した解決策よりも、理由 (および私が間違っていることの説明) を探しています。
だからここにあります(私は角度メッセージを使用していますが、問題はどのディレクティブにも共通するので重要ではないと思います):
エラー管理をすばやく変更するために、マネージャー (ここでは角度メッセージ) をディレクティブにカプセル化することにしました。フォームにエラーを表示するには、次のようにします。
ご承知のとおり、テンプレートにはデフォルトのエラーは一切含まれていません。プリ/ポスト コンパイル関数とリンクで多くの組み合わせを試しましたが、何も成功しませんでした。これはコンパイルの優先度の問題だと思います。おそらく ng-messages-include を最後にコンパイルする必要がありますが、その方法についてはわかりません。よろしくお願いします
angularjs - ng メッセージと typescript を使用したカスタム検証ディレクティブ
カスタム検証のディレクティブを持ち、ng-messages を使用してそれらを表示するモジュールを構築しようとしています
検証は正規表現を介して行われます。
私が見ているエラーは次のとおりです。
エラー: [$compile:ctreq] ディレクティブ 'ngMessage' で必要なコントローラー 'ngMessages' が見つかりません!
私のコードは次のようになります。
検証ディレクティブ:
私のhtmlで:
私のアプリモジュール:
私のコントローラーは長すぎてここに投稿できませんが、ngMessages の注入はありません (静的注入も使用してみました --> 機能しませんでした)
明らかに私は何か間違ったことをしていますが、何がわかりません。(これは私がここで以前に抱えていた問題の続きです)
javascript - ぼかしでngメッセージを発射する方法は?
状況:
angular アプリには多くのフォームがあり、効果的なエラー メッセージ システムが必要です。ngMessages は便利だと思います。
しかし、「積極的」でないようにするために、ユーザーがフィールドからぼやけたときにのみエラーメッセージが表示されるようにしたいと思います。
試み:
1000 ミリ秒でデバウンスを使用してみる
このようにして、ユーザーが 1 秒間何も入力しないと、エラー メッセージが適切に表示されます。私が望むものに最も近いものです。
ただし、一部のユーザーにとっては、文字 @ を入力するのに 1 秒以上かかる場合があります。エラーメッセージが突然表示され、ユーザーを混乱させる可能性があります。
しかし、デバウンス時間を 2 秒または 3 秒に設定すると、多すぎます。ユーザーがすでに別のフィールドに書き込みを行っている場合に表示されることがあります。
エラーメッセージは、ユーザーがフィールドからぼやけた後にのみ発生する必要があります。
質問:
ぼかしでngMessagesを起動するにはどうすればよいですか?
angularjs - AngularJS を使用して REST サービスからの検証メッセージを画面に表示するにはどうすればよいですか?
次のようなコントローラーがあります。
私のサービスは次のようなものです:
空のフォームを送信すると、REST サービスが検証を行い、次のような JSON を返します (RESPONSE)。
これらのメッセージをそれぞれのフィールドの下に表示する方法を知りたいですか?
以下は私のHTMLコードに従います:
編集
ngMessages を探して、メッセージの DIV を次のように変更します。
そして、messages.html ファイルは次のようになります。
必要に応じて検証メッセージを表示するようにコントローラーを変更しました。
ここでの問題は、フォームを再度送信した後も以前の検証メッセージが画面に残り、このフィールドの内容を変更して、他のフィールドにエラーがある場合でも有効になることです。
フォームデータを送信するたびにコントローラーでこれらのメッセージをクリアする方法は?