如何使用AngularJs捕获(并在客户端上显示)JayData中的服务器端OData业务验证错误

时间:2013-10-23 18:51:39

标签: jaydata

如果我使用的代码(来自:http://jaydata.org/blog/jaydata-and-angularjs-continued):

$ scope.saveChanges = function(){

$scope.northwind.saveChanges()
.then(function () {
  $scope.selectedProduct = null;
},function() {
  $scope.northwind.stateManager.reset();
});

};

如何捕获服务器可能返回的任何服务器端业务验证错误?

1 个答案:

答案 0 :(得分:1)

这有效:

$scope.saveChanges = function () {
    $scope.ApplicationData.saveChanges()
    .then(function () {
        $scope.selectedToDo = null;
    }, function (error) {
        var xml = error.message,
        xmlDoc = $.parseXML(xml),
        $xml = $(xmlDoc),
        $ValidationResults = $xml.find("ValidationResults");

        angular.forEach($ValidationResults, function (ValidationResult) {
            angular.forEach(ValidationResult.childNodes, function (childNode) {
                alert(childNode.childNodes[0].textContent);
            });
        });

        $scope.ApplicationData.stateManager.reset();
    });
};