我有一个分为4个步骤的表单(我使用ng-switch创建了一个表单“向导”),提交按钮位于向导的最后一页。我有一些麻烦使角度形式验证工作。似乎formName。$ invalid只监视表单当前步骤的输入。
<form name="carouselForm">
<div ng-switch="modal.getCurrentStep()" class="slide-frame">
<div ng-switch-when="general" class="wave row">
....
</div>
<div ng-switch-when="carousel" class="wave row">
<div class="col-md-12">
<div class="form-group"
ng-class="">
<label for="Title">
Title <span class="red">*</span>
</label>
<div>
<input id="Title"
ng-model="entityData.Title"
type="text"
required
placeholder="" class="form-control input-md">
</div>
</div>
</div>
</div>
<div ng-switch-when="details" class="wave row">
.....
</div>
<div ng-switch-when="description" class="wave row">
.....
</div>
</div>
</form>
我删除了大部分表单,因为它会很长。在第二步中,我留下了一个带有所需标签的输入。在此步骤中,如果未设置此字段,则carouselForm。$ invalid正确设置为true,但是一旦我更改为下一步,即使我没有填写所需的输入,carouselForm。$ invalid也会再次为false。 / p>
似乎角度形式验证不会在我的其他ng-switch块中观察输入。有没有办法将它们纳入验证?
非常感谢!
答案 0 :(得分:0)
您可以通过ng-show替换ng-switch-when,这样就不会从DOM中删除,但会使用CSS隐藏。