1

タブに分割されたフォームがあります。各タブはng-form、メインform要素の子である です。親フォームは、他のサブフォームが有効な場合にのみ送信できます。ただし、ng-switch を使用しているため、現在のタブが有効かどうかのみをチェックします。

ここにフィドルがありますhttp://jsfiddle.net/nicolasmoise/LRfrY/2/

私のアプローチは正しいですか?ng-switch に代わるものを試す必要がありますか、またはコントローラー/サービス内にすべてのロジックを含めることができますか?

ボーナス

親フォームが送信されると、ユーザーにエラーをすぐに表示するために、無効な最初のタブ/ng-form を開く必要があります。(たとえば、tab1 と tab2 が有効な場合、tab3 にジャンプし、そこでエラーが表示されます。

4

1 に答える 1

1

ng-switch非表示にせず、DOM との間で一致する要素を追加/削除します。この方法では、DOM は削除されたフィールドにアクセスできないため、非表示の要素に対して検証が機能しません。

すべてのモデルに値があるかどうかを確認してコントローラーで検証を処理するか、要素を追加/削除する代わりに要素を表示/非表示にすることができます。

そのため、 を削除し、要素でandng-switchを使用します。ng-show="tab==1"ng-show="tab==2"ng-form

http://jsfiddle.net/gaby/LRfrY/4/のデモ

于 2014-01-30T22:33:31.303 に答える