无法读取未定义的属性'$ valid'

Sam*_*Sam 5 angularjs angularjs-scope

我有一个带有名称字段和两个验证的表单 - 必需和最大长度.当我输入正确的值时,控制器中的表单显示有效并返回true.但是在输入错误的数据时,$ valid不会丢错,只是简单地说 -

Cannot read property '$valid' of undefined
Run Code Online (Sandbox Code Playgroud)

为什么在这种情况下表单未定义?

Jsfiddle 在这里

提前致谢

Flu*_*key 7

ng-submit向表单添加属性:

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

将控制器更改为:

function myCtrl($scope, $log){
    $scope.data = {};
    $scope.SaveAndNext = function(){
        if($scope.myForm.$valid){
            $log.info('Form is valid');
            $log.info($scope.data);
        } else {
            $log.error('Form is not valid');
        }
   }
}
Run Code Online (Sandbox Code Playgroud)

ng-click从提交按钮中删除事件处理程序

更新小提琴:http://jsfiddle.net/9cgopo7d/1/

我包含了该$log服务,因为它是一个有用的默认服务,您可能不知道它.