=== modified file 'dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/components/dataentry/dataentry-controller.js' --- dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/components/dataentry/dataentry-controller.js 2016-03-01 16:47:58 +0000 +++ dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/components/dataentry/dataentry-controller.js 2016-03-10 16:56:46 +0000 @@ -1307,7 +1307,17 @@ //check for input validity $scope.updateSuccess = false; } - if (field && field.$invalid && angular.isDefined(value) && value !== "") { + + var oldValue = null; + for(var i=0; i<$scope.currentStageEventsOriginal.length; i++){ + if($scope.currentStageEventsOriginal[i].event === eventToSave.event) { + oldValue = $scope.currentStageEventsOriginal[i][prStDe.dataElement.id]; + break; + } + } + + if (field && field.$invalid) { + $scope.currentEvent[prStDe.dataElement.id] = oldValue; $scope.currentElement = {id: prStDe.dataElement.id, saved: false, event: eventToSave.event}; return false; } @@ -1315,13 +1325,6 @@ //input is valid var value = eventToSave[prStDe.dataElement.id]; - var oldValue = null; - angular.forEach($scope.currentStageEventsOriginal, function (eventOriginal) { - if (eventOriginal.event === eventToSave.event) { - oldValue = eventOriginal[prStDe.dataElement.id]; - } - }); - if (oldValue !== value) { value = CommonUtils.formatDataValue(eventToSave.event, value, prStDe.dataElement, $scope.optionSets, 'API');