来自控制器的参考角度ng形式

Dec*_*McD 6 angularjs

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

我有

<ng-form name="myForm">
</ng-form>
Run Code Online (Sandbox Code Playgroud)

HTML页面上的此代码工作正常

 {{myForm.$valid}}
Run Code Online (Sandbox Code Playgroud)

根据具体情况返回true或false.

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

我试过了

$scope.myForm.$valid
Run Code Online (Sandbox Code Playgroud)

但这不存在.也没有任何对该myForm对象的引用$scope.

在a ng-form中使用ng-repeat,所有这些都在普通的HTML表单对象中,这就是它被使用的原因.

正如我所说,myForm.$invalid它用于控制HTML页面上该表单中的显示/启用控件.

有任何想法吗?

Nit*_*eli 2

检查表单在提交时是否有效的一种方法是将其传递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>
Run Code Online (Sandbox Code Playgroud)

和测试函数:

$scope.test = function($valid, obj) {
  if (!$valid) return;
  console.log(obj);
}
Run Code Online (Sandbox Code Playgroud)

普林克