我使用具有单选按钮组的AngularJS构建表单。我想向我的用户提供表单上有多少错误的准确计数。我的问题是:
Using this code,我正在计算表单上的错误数量。
$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>
有没有办法在表单上获得更准确的错误计数?
答案 0 :(得分:0)
您可以为每个输入字段指定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