diff --git a/rdmo/projects/static/projects/js/project_questions/services.js b/rdmo/projects/static/projects/js/project_questions/services.js index 09b63ccbbb..2537843d03 100644 --- a/rdmo/projects/static/projects/js/project_questions/services.js +++ b/rdmo/projects/static/projects/js/project_questions/services.js @@ -884,14 +884,14 @@ angular.module('project_questions') if (response.status == 500) { service.error = response; } else if (response.status == 400) { - service.error = true; + service.error = response; if (angular.isDefined(response.data.text)) { value.errors = response.data.text } else { value.errors = Object.keys(response.data); } } else if (response.status == 404) { - service.error = true; + service.error = response; value.errors = ['not_found'] } }) @@ -944,8 +944,8 @@ angular.module('project_questions') service.error = null; // reset error before saving if (service.settings.project_questions_autosave) { service.save(false, true).then(function() { - if (service.error !== null) { - // pass, dont jump + if (service.error !== null && service.error.status !== 400) { + // pass, dont jump (but not on a validation error) } else if (angular.isDefined(page)) { service.initView(page.id); } else if (angular.isDefined(section)) { diff --git a/rdmo/projects/templates/projects/project_questions_save_error.html b/rdmo/projects/templates/projects/project_questions_save_error.html index e3a5aba785..8af6d4b6d8 100644 --- a/rdmo/projects/templates/projects/project_questions_save_error.html +++ b/rdmo/projects/templates/projects/project_questions_save_error.html @@ -1,7 +1,7 @@ {% load i18n %} {% load core_tags %} -
{% trans 'An error occurred while saving the answer. Please contact support if this problem persists.' %}