我是Angular的新手,我正在尝试实现ASP.Net数据注释错误处理服务。一切都很好,除了在重新提交表单时我似乎无法重置表单上的$ invalid标志。
在我的服务中,我正在做:
app.service("submitFormSvc", ['$http', '$parse', function ($http, $parse) {
this.submitForm = function (url, form, $scope) {
form.$setPristine();
... More code here ...
// Set individual form fields if an error is returned from the server
$parse(form.$name + '.' + dotNetFieldName + '.$invalid').assign($scope, true);
}
});
和我的控制员:
$scope.login = function () {
submitFormSvc.submitForm('/api/login', $scope.loginForm, $scope)
}
我的印象是$ setPristine()会重置表单上的所有值,但它不是。
我是否需要遍历所有表单变量并单独重置它们?如果是这样,我该怎么做?