<td level="{{taskCtrl.level}}" check-permissions="noCommercial" ng-if="tEl.id_subtype==1 || tEl.id_subtype==2 || tEl.id_subtype==9 || tEl.id_subtype==10">
<select id="vpo_{{$index}}" name="vpo_{{$index}}" class="form-control np fs-small"
ng-options="item.id as item.es for item in mainCtrl.vpo"
ng-model="tEl.vpo"
ng-required="true"
ng-change="taskCtrl.toggleVpo(tEl);">
<option value="">N.A.</option>
</select>
</td>
上面的td的默认状态是ng-valid,尽管选择的选择器列表中没有选项。因此,ng-required不会禁用提交按钮。
但是,当您选择一个选项然后单击返回N.A.(占位符选项)时,该元素将变为.ng-invalid,并且根据需要禁用提交表单。它有效!
我知道这与ng-repeat有关,并且已经做了各种尝试来解决问题,方法是将表行包装在表格中,如各种帖子所示。