From 7168702dc49467c39c636f4ec057978352c9d9e4 Mon Sep 17 00:00:00 2001 From: genoher <1763180+genoher@users.noreply.github.com> Date: Mon, 30 Oct 2023 19:59:26 +0100 Subject: [PATCH 1/2] Show error message when open modal fails in mvc. --- .../bootstrap/modal-manager.js | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/wwwroot/libs/abp/aspnetcore-mvc-ui-theme-shared/bootstrap/modal-manager.js b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/wwwroot/libs/abp/aspnetcore-mvc-ui-theme-shared/bootstrap/modal-manager.js index 1907ec9e23..125542371a 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/wwwroot/libs/abp/aspnetcore-mvc-ui-theme-shared/bootstrap/modal-manager.js +++ b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/wwwroot/libs/abp/aspnetcore-mvc-ui-theme-shared/bootstrap/modal-manager.js @@ -135,7 +135,7 @@ $.validator.defaults.ignore = ''; //TODO: Would be better if we can apply only f _args = args || {}; var argsWithoutFunc = {}; - for (a in _args) { + for (var a in _args) { if (_args.hasOwnProperty(a) && typeof _args[a] !== 'function') { argsWithoutFunc[a] = _args[a]; } @@ -144,8 +144,12 @@ $.validator.defaults.ignore = ''; //TODO: Would be better if we can apply only f _createContainer(_modalId) .load(options.viewUrl, $.param(argsWithoutFunc), function (response, status, xhr) { if (status === "error") { - //TODO: Handle! - return; + var error = JSON.parse(response)?.error; + if (error.details) { + return abp.message.error(error.details, error.message); + } else { + return abp.message.error(error.message || abp.ajax.defaultError.message); + } }; if (options.scriptUrl) { From 8399bb7983d8d3f4db084e75e0c7c6c463e05733 Mon Sep 17 00:00:00 2001 From: maliming Date: Wed, 1 Nov 2023 13:56:34 +0800 Subject: [PATCH 2/2] Update modal-manager.js --- .../bootstrap/modal-manager.js | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/wwwroot/libs/abp/aspnetcore-mvc-ui-theme-shared/bootstrap/modal-manager.js b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/wwwroot/libs/abp/aspnetcore-mvc-ui-theme-shared/bootstrap/modal-manager.js index 125542371a..03ba2706d0 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/wwwroot/libs/abp/aspnetcore-mvc-ui-theme-shared/bootstrap/modal-manager.js +++ b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/wwwroot/libs/abp/aspnetcore-mvc-ui-theme-shared/bootstrap/modal-manager.js @@ -144,12 +144,9 @@ $.validator.defaults.ignore = ''; //TODO: Would be better if we can apply only f _createContainer(_modalId) .load(options.viewUrl, $.param(argsWithoutFunc), function (response, status, xhr) { if (status === "error") { - var error = JSON.parse(response)?.error; - if (error.details) { - return abp.message.error(error.details, error.message); - } else { - return abp.message.error(error.message || abp.ajax.defaultError.message); - } + var responseJSON = xhr.responseJSON ? xhr.responseJSON : JSON.parse(xhr.responseText); + abp.ajax.showError(responseJSON.error ? responseJSON.error : abp.ajax.defaultError); + return; }; if (options.scriptUrl) {