我刚刚浏览了一个angular-fullstack应用程序,我遇到了这段代码:
catch( function(err) {
err = err.data;
$scope.errors = {};
// Update validity of form fields that match the mongoose errors
angular.forEach(err.errors, function(error, field) {
form[field].$setValidity('mongoose', false);
$scope.errors[field] = error.message;
});
我理解这段代码它试图说什么,但我想知道是否假设错误发生了什么传递给函数(错误,字段)。我无法解释发生错误时会发生什么。这样我就能知道这段代码中究竟发生了什么
这段代码在控制器中
有人可以用例子解释整个程序吗?
答案 0 :(得分:1)
看起来你正在“捕获”错误(可能从一个宁静的服务返回)并将错误数组中的每个错误映射到它的特定字段。
然后将该字段的有效性设置为false,这是角形式所持有的。
最后,对$scope.errors
存在某种绑定,显示添加到$scope.errors
数组的每条错误消息。
看起来非常简单和典型的验证。它与核心角度错误处理无关,只是一种向表单/页面添加验证信息的方法。