8

フィドル

フォームで発生したエラーの数をカウントするにはどうすればよいですか?

HTML

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

1 に答える 1

9

フォームの配列の一部として利用できる特定のエラー基準などrequiredの特定のカウントを使用して、これを行う 1 つの方法。あなたの場合、次を使用してみてください:-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>

デモ

コントローラーに関数を追加して、フォームのエラー数を決定して返すことができ、それをビューで使用して合計エラー数を表示できます。

 $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;
 };

デモ

于 2014-09-28T16:49:07.550 に答える