我需要检查控制器中的表单是否有效。
查看:
<form novalidate=""
name="createBusinessForm"
ng-submit="setBusinessInformation()"
class="css-form">
<!-- fields -->
</form>
在我的控制器中:
.controller(
'BusinessCtrl',
function ($scope, $http, $location, Business, BusinessService,
UserService, Photo)
{
if ($scope.createBusinessForm.$valid) {
$scope.informationStatus = true;
}
...
我得到这个错误:
TypeError: Cannot read property '$valid' of undefined
5条答案
按热度按时间pkln4tw61#
试试这个
鉴于:
在控制器中:
或
鉴于:
在控制器中:
fhity93d2#
我已将控制器更新为:
a0zr77ik3#
这是另一个解决方案
在html中设置一个隐藏的作用域变量,然后就可以在控制器中使用它了:
以下是完整的工作示例:
x一个一个一个一个x一个一个二个x
nxowjjhe4#
BusinessCtrl
在createBusinessForm
的FormController
之前被初始化。即使你在表单上有ngController
也不会按照你想要的方式工作。你不能帮助这个(你可以创建你的ngControllerDirective
,并试图欺骗优先级)。这就是angularjs的工作方式。请参见以下plnkr示例:http://plnkr.co/edit/WYyu3raWQHkJ7XQzpDtY?p=preview
rsl1atfo5#
我喜欢禁用保存/提交按钮,如果表格无效: