如何计算单选按钮组所需的ng错误

How can I count ng-required errors for groups of radio buttons?

本文关键字:ng 错误 单选按钮 何计算 计算      更新时间:2023-09-26

我正在使用AngularJS构建一个具有单选按钮组的表单。我想向我的用户提供表单上有多少错误的准确计数。我的问题是:

使用这段代码,我可以记录表单上的错误数量。

$scope.numberoferrors = function(form) {
  var count = 0,
  errors = form.$error;
  angular.forEach(errors, function(val) {
    if (angular.isArray(val)) {
      count += val.length;
    }
  });
  return count;
};

我制作了一组两个单选按钮,并使每个按钮都是必需的。如果都不选择,form.$error报告有两个错误(每个输入一个),但我希望只有一个错误。令人困惑的是,一旦选择了单选按钮,form.$error报告的错误为零,这是预期的。

<form name="myForm" ng-submit="submitForm()" ng-controller="ExampleController">
  Errors: {{numberoferrors(myForm)}}
  <input type="radio" ng-model="test" value="yes" required> Yes
  <input type="radio" ng-model="test" value="no" required> No
</form>

有没有一种方法可以更准确地统计表单上的错误?

Plunkr

您可以给每个输入字段一个name="..."属性,然后访问每个字段的$error: formName.fieldName.$error

你可以遍历表单的所有属性,以便检查它们。

任何从Angular表单指南中摘录的例子:

<form name="form" class="css-form" novalidate>
    Name:
    <input type="text" ng-model="user.name" name="uName" required="" />
    <br />
    <div ng-show="form.$submitted || form.uName.$touched">
      <div ng-show="form.uName.$error.required">Tell us your name.</div>
    </div>
如你所见,他们利用了form.uName.$error https://docs.angularjs.org/guide/forms