angularjs - 如何计算表单上的错误数量?

标签 angularjs angularjs-directive angularjs-scope angularjs-validation

FIDDLE

我如何计算表格上的错误数量?

HTML

 <div ng-show="form.$submitted && form.$invalid">
      Sorry but 3 errors have been made.
 </div>

最佳答案

您可以通过使用特定错误标准的特定计数来做到这一点的一种方法,required , pattern等.. 可作为表单 $error[prop] 的一部分使用大批。在您的情况下,您可以尝试使用 form.$error.required.length :-

<div ng-show="form.$submitted && form.$invalid">
       Sorry but {{form.$error.required.length}} errors have been made.
</div>

Demo

您可以在 Controller 上添加一个函数,该函数可以确定表单上的错误数量并返回它,并在 View 中使用它来显示总错误计数。
 $scope.numberoferrors=function(form){
    var count = 0,
        errors = form.$error;

     angular.forEach(errors, function(val){ if(angular.isArray(val)) {  count += val.length; }  });
    //Object.keys(errors).forEach(function(key){ count += errors[key].length  }); //get count of all error categories from form

    return count;
 };

Demo

关于angularjs - 如何计算表单上的错误数量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26087123/

相关文章:

angularjs - $scope 不适用于指令中已编译的模板

angularjs - 嵌套和重复的angularjs指令中链接函数的调用顺序

javascript - $http.delete 返回没有信息的错误

javascript - 如何使用 "Select All"复选框传递所有对象?

javascript - 创建工厂服务时, return $http.post 在 Angular 中到底意味着什么?

angularjs - 如何获取目录分页过滤结果引用

javascript - 错误: $injector:modulerr Module Error seems there is an injection error in my directive but I don't understand whats wrong in my code

javascript - 在 Angular1 中使用 $routeProvider 时如何正确跨页面加载 javascript

AngularJS : directive binding value to parent scope from template model

javascript - 使用 Unique 和 Sum 从现有数组值创建新数组