私は、アプリケーション内の複数のビューで共有されるサブフォームを持っています。 1つのビューでは、このサブフォームは単独で表示され、ユーザーを次のサブフォームに誘導する下部に戻る/続行ボタンが表示されます。別のビューでは、サブフォームは他のサブフォーム(基本的に1つの長いフォーム)と同じページに表示されます。ng-includedフォームの有効性を親スコープから確認するにはどうすればよいですか?
サブフォームのhtmlは両方のビューで100%同一であるため、部分的に分割し、ng-include
を使用してレンダリングしています。バック/継続ボタンを含むサブフォームのみを表示するビューでは、親のHTML内に戻る/続行ボタンを表示します。
視覚的にはすべて正常に動作し、フォームに入力されたすべてのデータにアクセスできます(user.email, user.password, user.etc...
)。
問題は、ユーザーがフォームを正しく完了したかどうかに基づいて「続行」ボタンを有効/無効にしていることです。親のスコープがないため「サブフォームのみ」のバリエーションでは機能しませんフォームのステータスにアクセスできるようです。部分的にボタンをスティックすると機能しますが、この部分が使用されているすべてのインスタンスでボタンがそこに属していないため、これを実行したくありません。何かがボックスに入力されるまで、赤枠内のボタンを提出することを私の例では
通知は無効になっている「フォーム無効な?」青い枠内のボタンは常に有効になっており、「フォームが無効ですか?」というメッセージが表示されます。値は空白です。
親スコープからmyForm.$invalid
の値にアクセスするにはどうすればよいですか?
フォームは角に巣ができ、子フォームが無効になると親フォームが無効になります。しかし、あなたはあなたのng-includedフォームを囲む外側のフォームを持っていないようです... – jpsimons
入れ子