問題タブ [angular2-formbuilder]

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 投票する
2 に答える
16702 参照

angular - formbuilder配列に値を設定する方法

配列値を formBuilder.array に設定することに問題があります。配列ではないformBuilderでは、この方法でsetValueを使用できますが、formBuilder.arrayではできません。formbuilder の 'listServiceFeature' と 'listservicefeature' に値を設定しようとしましたが、どちらの方法でも値が設定されません。

TS

html

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

angular - 親コンポーネントと子コンポーネントの間でフォーム ステータス データを渡す

Angular 2 を使用して、管理を容易にするために 1 つの親コンポーネントと 2 つの子コンポーネントに分割した長くて複雑なフォームがあります。検証のためにフォームのステータスを追跡する必要があるまで、このプロセスはうまく機能します。バインドされたモデルに関するデータは @Input を介して簡単に送信できますが、フォーム自体に関するデータを送信する方法がわかりません。

擬似コードを使用した例を次に示します。

フォームの下部に、JSON パイプを使用してフォームの値を表示しています。f.value「詳細」および「高度な」入力に関するデータを表示する必要があります。親コンポーネントがフォームのステータスを追跡できるように、親コンポーネントと子コンポーネントの間で情報を渡すにはどうすればよいですか? 理想的には、これはテンプレート駆動型とリアクティブ型の両方で機能します。

0 投票する
8 に答える
123840 参照

angular - 反応型の双方向バインディング

Angular 2 を使用すると、テンプレート駆動型フォームでの双方向バインディングが簡単になります。バナナ ボックス構文を使用するだけです。モデル駆動型のフォームでこの動作をどのように再現しますか?

たとえば、これは標準的なリアクティブ フォームです。見た目よりもはるかに複雑で、さまざまな入力とビジネス ロジックが非常に多く、テンプレート駆動型のアプローチよりもモデル駆動型のアプローチに適しているとしましょう。

では、subscribe()あらゆる種類のロジックをフォーム値に適用し、必要に応じてマップできます。ただし、フォームからのすべての入力値をマップしたくありません。と同様のアプローチで、テンプレートの json パイプに表示されるemployeeように、更新されるモデル全体の値を確認したいだけです。[(ngModel)]="example.name"どうすればこれを達成できますか?

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

angular - Angular 2: 複数のボタンを持つ NgForm

私はカートを開発しようとしています。カート全体は、追加/削除/続行などの複数のボタンで構成されています。送信タイプの続行ボタンにのみ検証を適用したいです。ただし、現在、いずれかのボタンをクリックすると、検証がアクティブになります。

非常に複雑なコードであるため、コードを投稿できません。これがフォームの通常の動作なのか、それとも私の側でエラーが発生している可能性があるのか​​をお知らせください.

ありがとう

0 投票する
19 に答える
138740 参照

angular - リアクティブフォーム - フィールドをタッチ済みとしてマーク

フォームのすべてのフィールドをタッチ済みとしてマークする方法がわかりません。主な問題は、フィールドに触れずにフォームを送信しようとすると、検証エラーが表示されないことです。コントローラーにそのコードのプレースホルダーがあります。
私の考えは単純です:

  1. ユーザーが送信ボタンをクリックする
  2. すべてのフィールドがタッチ済みとしてマークされます
  3. エラーフォーマッタが再実行され、検証エラーが表示されます

新しいメソッドを実装せずに、送信時にエラーを表示する方法が他にある場合は、共有してください。ありがとう!


私の簡略化されたフォーム:

そして私のコントローラー:

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

regex - 正規表現が機能しないバリデーターパターン

angular バージョン: 2.1.1 では、フォーム ビルダーでフォームを作成しました。1 つのコントローラーは、Google マップから座標 (latlng) を入力するためのものです。正規表現を使用して座標形式を次のように定義しました。

  • (-?\d+(.\d+)?),\s*(-?\d+(.\d+)?)

したがって、有効な文字列は次のようになります。

  • 2.3、4.66

バリデーターを次のように設定しました。

質問、パターン検証が機能しないのはなぜですか?

ここに画像の説明を入力 ここに画像の説明を入力

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

angularjs - FormBuilder を使用して元のままだが無効なフォームを強調表示する

Angular 2 を使用FormBuilderしてダーティで無効なフィールドを強調表示するのは簡単です。ただし、フィールドをダーティに変更することなく、元の状態ではあるが無効なフォームを送信できます。

たとえば、このコードは、入力に触れずにフォームを送信するFormGroupと、無効になるが.ng-pristineテキスト フィールドに残ることを示します。これは、テキスト フィールドに問題があることをユーザーに通知しないことを意味します。

Plunkerの例。

フォームを送信するときに、どうすればプリスティンFormControlをダーティに変更できますか?

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

angular - モデル主導のフォーム - 手付かずの状態は常に真

プログラムで pristine を false に設定するにはどうすればよいですか?

this.myForm.get('categories').set...何を設定しますか?setPristine はありません。

何らかの理由で、次のようにカテゴリを設定すると:

this.myForm.controls.categories.pristineは依然として true に等しいです。

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

angular - 入力の配列を使用して Angular 2 リアクティブ フォームを作成する方法

Angular 2 を学習するために独自の請求アプリを構築しています。formBuilder でモデルを作成しました。私のモデルには入力の配列 (請求書の項目) が含まれており、それがテンプレートにマップされると、エラーが発生します。(私はこの例に従いました: https://scotch.io/tutorials/how-to-build-nested-model-driven-forms-in-angular-2 )。

エラー、コントローラー、およびテンプレートは次のとおりです。

エラー:

コントローラ:

テンプレート (エラーが発生する領域):