サブフォームを使用することをお勧めします。 AngularJSはあるフォームを別のフォームの内側に置くことをサポートし、有効性は下のフォームから上に伝播します。 2つのフォームに分割を検討するかもしれない、
<form name='myform' ng-init="step = 1">
<div ng-show="step==1">
<h3>Step 1: Enter some general info</h3>
<div ng-form='step1form'>
Name: <input ng-model="name" required>
</div>
<button ng-disabled="!step1form.$valid" ng-click="step = 2">Next</button>
</div>
<div ng-show="step==2">
<h3>Step 2: Final info</h3>
<div ng-form="step2form">
Phone: <input ng-model="phone" required>
</div>
<button ng-click="step = 1">Prev</button>
<button ng-disabled="!myform.$valid" ng-click="submit()">Submit</button>
</div>
<div>
Validation status:
<div> Whole form valid? {{myform.$valid}} </div>
<div> Step1 valid? {{step1form.$valid}} </div>
<div> Step2 valid? {{step2form.$valid}} </div>
</div>
</form>
あなたがAJAX経由で提出されている場合ではなく、デフォルトのブラウザが提出:あなたのアイデアを把握することができるようにhttp://plnkr.co/edit/SruBmlGZZtbwiU8cktAp?p=previewここ
はいくつかのコードです:ここでは
は一例です。最初のフォームの 'ng-submit'を2番目のフォームを表示します。これが最も実用的な方法であるかどうかは確かではありませんが、コーディングが単純化され、角度がフルフォームの検証を行うことができます。 – charlietfl
ええ、これは私がやることです。ありがとう! – Andrew