2014-10-27 97 views
0

我无法使用$ scope.myform获取表单有效性$ valid &我收到一条未定义的消息“无法读取属性'$ valid'of undefined”。无法获得表单有效性

<body ng-controller="MainCtrl"> 
    <form name="myform"> 
    Name: <input type="text" ng-model="user.name" /><br> 
    Email: <input type="email" ng-model="user.email" /><br> 
</form> 
</body> 

app.controller('MainCtrl', function($scope) { 
    console.log($scope.myform.$valid); 
}); 

Plnkr:http://plnkr.co/edit/P2kg1l64d4t7k7X4d4jh?p=preview

回答

0

这是因为,当你的控制器实例化并执行这行代码,形式还没有被添加到的范围呢。

此功能添加到您的控制器,而不是:

$scope.click = function() { 
    alert($scope.myform.$valid); 
}; 

,并添加到您的形式:

<button type="button" ng-click="click()">is form valid?</button> 

,你会看到,点击按钮时,你就可以以获取表单的有效性。

这是更新的plunker