从控制器参考 angular ng-form

Reference angular ng-form from controller

如何从我的控制器中引用 ng-form 对象?

我有

<ng-form name="myForm">
</ng-form>

HTML 页面上的这段代码工作正常

 {{myForm.$valid}}

视情况返回 true 或 false。

但我想要的是在控制器的功能中检查表单的状态,例如在发布数据或检索数据之前。

我试过了

$scope.myForm.$valid

但这不存在。 $scope 本身也没有任何对 myForm 对象的引用。

ng-formng-repeat 中使用,所有这些都在正常的 HTML 表单对象中,这就是使用它的原因。

正如我所说,myForm.$invalid 用于控制 HTML 页面上该表单内的 display/enabled 控件就好了。

有什么想法吗?

在提交时检查表单是否有效的一种方法是将 myForm.$valid 传递到提交函数中:

<ng-form name="myForm" ng-submit="test(myForm.$valid, obj)">
  <input type="text" name="test" ng-model="obj.user" required>
  <input type="submit" ng-click="test(myForm.$valid, obj)" ng-disabled="!myForm.$valid">
</ng-form>

和测试函数:

$scope.test = function($valid, obj) {
  if (!$valid) return;
  console.log(obj);
}

plnkr