4
我試圖做表單驗證與角內的表單驗證。問題是我的表單的輸入是在ng-reapeat內,並且它們具有相同的名稱。因此,如果一個必填字段未填寫,其他字段也顯示爲無效。angularjs:NG-重複
要解決這個問題,我使用瞭如下所示的內部ng表單。但驗證不會被觸發。
任何想法我做錯了什麼?
<form name="referenceForm" >
<table>
<tbody ng-repeat="ref in vm.references | filter:{type: 'ReferenceUrl'}">
<ng-form name="urlForm">
<tr>
<td>
<input name="urlName" type="text" ng-model="ref.reference.urlName" ng-disabled="ref.reference.isScreenDeleted" required />
<span ng-show="urlForm.urlName.$error.required">*</span>
</td>
<td>
<input name="shortName" type="text" ng-model="ref.reference.shortName" ng-disabled="ref.reference.isScreenDeleted" required />
<span ng-show="urlForm.shortName.$error.required">*</span>
</td>
<td>
<a class="btn grid-button grid-edit-row btn-danger" ng-if="!ref.reference.isScreenDeleted" ng-click="toggleDelete(ref.reference)"><i class="fa fa-trash-o"></i></a>
<a class="btn grid-button grid-edit-row btn-info" ng-if="ref.reference.isScreenDeleted" ng-click="toggleDelete(ref.reference)"><i class="fa fa-refresh"></i></a>
</td>
</tr>
</ng-form>
</tbody>
</table>
</form>
大,是工作!非常感謝。事實上,當放置在TBODY內的NG-形式未被賦予... – Sam
在角1.3.15,我不能得到這個工作。 ng-form在使用這種方式時不會選取父窗體。我之前在表格中使用過它,但這不起作用。 –
它的工作原理!此外,還有一件事我與此代碼注意到,對於每一行urlForm是局部變量,所以你並不需要追加$指數爲每一行獲取表單名稱,驗證! –