問題タブ [angularjs-ng-form]
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-repeat検証を使用したAngularJSの複数のフォーム
親フォームとして ng-form を使用し、ng-repeat による検証のために子 mg-forms を使用しています。
そして、次のように検証します。
(これは非常に単純化された例です。さまざまな入力タイプとさまざまな名前のさまざまなサブフォームがあります。たとえば、input[text] は TextForm という名前で、input[numeric] は NumericForm などです。)
フィールドにのみある場合、すべてが期待どおりに機能します。ただし、ng-repeat が複数のフィールドを生成する場合、検証は最後のサブフォームのみをトリガーし、他のサブフォームは無視されます。
すべてのサブフォームを循環して、それらのいずれかが無効かどうかを確認する方法はありますか?
また、次のように未記入の必須フィールドをすべてマークしています。
したがって、私のフィールドが次のようになっている場合:
また、同じ名前の同じサブフォームが多数ある場合でも、すべてのサブフォームをマークします。
無効なフィールドで同様のことができるでしょうか?いろいろ試してみても、どれもうまくいきませんでした...
angularjs - ディレクティブ内の ng フォームの状態が外部フォームに伝播されない
入力の周りにいくつかのネストされた ng-forms を含む myNumber ディレクティブがあります。入力には、true に設定された ng-required 属性と特定の ng-pattern があります。問題は、入力の状態 (ng-valid-required、ng-invalid-pattern など) がディレクティブ内の ng-forms に伝播することです。そのため、入力自体と同じ状態になり、これが望ましい動作です。ただし、ディレクティブ自体の外に出ると、ディレクティブの周りの ng-form は内部の ng-forms の状態を取得しません。
input と ng-forms inside ディレクティブは ng-valid-required ng-dirty ng-invalid ng-invalid-pattern のような状態ですが、outerForm は ng-pristine ng-valid です。
これは通常の動作ですか、これは AngularJS の仕組みですか、それともディレクティブの外で状態を取得するための回避策はありますか?
javascript - AngularJS:ある入力値を別の入力値から設定し、ユーザーが入力したかのように検証する方法は?
私はAngular 1.3.0rc2を使用しており、ユーザーが入力したかのように入力フィールドをぼかして、別の入力フィールドを設定しようとしています。
設定しようとしている入力に同期バリデーターのみが存在し、デバウンスまたは非同期バリデーターが存在しない場合、次のようなことをすると、常に期待どおりに機能するように見えます。
ただし、設定しようとしている入力に非同期バリデータまたはデバウンスが存在し、設定しようとしている入力が現在無効な状態にある場合、期待どおりに動作しないようです。
私は自分の問題を示すために次の plunkr を作成しました。「フルネーム」の値を設定してみて、フルネームフィールドのぼかしにも設定したいユーザー名フィールドで何が起こるかを確認してください。ユーザー名フィールドが無効な状態の場合、氏名の値を変更してからフィールドからフォーカスを削除しても、期待どおりにユーザー名が更新されません。
http://plnkr.co/edit/h1hvf79W8ovqAlNLpBvS
それで、私の質問は、ある入力フィールドを別の入力フィールドから確実に機能させ、ユーザー自身がこの新しい入力を入力したかのように動作するように設定するにはどうすればよいですか (したがって、バリデーターを実行し、それに応じてモデル値を更新します)。
angularjs - Angularjs でネストされたフォームを適切に処理する方法
Web アプリのフロントエンドに angularjs を使用しています。現在、複数の返信フォームと編集フォームを含むコメント ビューがあります (ng-repeat のため)。フォーム検証を各フォームに適切に適用できるように、以下のコードをどのように書き直すことができますか (現在、コードは返信コメント用のフォームのみを表示しています)。ng-form を使用してみましたが、失敗しました。