當你寫:
<form name="formName" ng-controller="TheCtrl" ...>
然後會有一個在TheCtrl
範圍命名formName
變量。它的類型將是FormController。請注意表單對象具有$valid
和$invalid
屬性。
將必填字段下,這種形式的,如:
<form name="formName" ng-controller="TheCtrl" ...>
<input name="myInput" ng-required ... />
的表單對象將有$invalid=true
如果myInput
不填充項。
以上描述瞭解決方案的原理。你應該有4個表格和4個相應的控制器。如果如上所述定義每個控制器,則知道其相應形式的有效性。共享服務(或在您的model.value()
連場)會跟蹤每個表格的有效性的狀態,例如:
app.controller("Form1Ctrl", function($scope, sharedService) {
$scope.$watch("form1Name.$valid", function(newval) {
sharedService.validity.form1 = newval;
});
...
});
,最終提交按鈕時,纔會啓用時,所有形式都是有效的:
<button ng-disabled=" sharedService.validity.form1 == false
|| sharedService.validity.form2 == false
|| sharedService.validity.form3 == false
|| sharedService.validity.form4 == false">