我可以验证我的表单元素'name'd'username'。
ng-class="{ 'has-error': form.username.$dirty && form.username.$invalid }"
但我无法在控制器中获取此信息。这可能吗?
我想做这样的事情:
mycontroller.controller('mycontroller', function ($scope){
$scope.isusernameinvalid = $scope.form.username.$dirty && $scope.form.username.$invalid;
});
并使用isusernameinvalid(true / false)来切换类
ng-class="{ 'has-error': isusernameinvalid }"
我知道“form”不是$ scope变量,因此无法访问。
如何在此处访问验证状态/类信息?
答案 0 :(得分:1)
如果你声明这样的表格
<form name="formName"></form>
您应该可以通过$scope.formName
在控制器中访问它。但是,如果一直处于角度,您必须小心查看正确的范围,因此可以在表单标记上或在包含表单标记的某个标记上设置ng-controller="mycontroller"
(如果尚未完成)。
也可能是当$scope.isusernameinvalid = $scope.form.username.$dirty && $scope.form.username.$invalid;
代码运行时,表单尚未在范围中初始化,因此访问它会返回undefined
。将isuernameinvalid声明为函数而不是应该解决这个问题:
$scope.isUsernameInvalid = function() {
return $scope.form.username.$dirty && $scope.form.username.$invalid;
}
然后将其作为ng-class
指令中的函数调用。