From 0b2cfe956d50f62614fc51ff7480ad3baab11613 Mon Sep 17 00:00:00 2001 From: Robert Date: Tue, 31 Oct 2017 15:19:06 +0100 Subject: [PATCH 1/3] Triming login field to avoid validation errors --- .../src/common/services/umbdataformatter.service.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Umbraco.Web.UI.Client/src/common/services/umbdataformatter.service.js b/src/Umbraco.Web.UI.Client/src/common/services/umbdataformatter.service.js index 5fc2416927..2edd8e709a 100644 --- a/src/Umbraco.Web.UI.Client/src/common/services/umbdataformatter.service.js +++ b/src/Umbraco.Web.UI.Client/src/common/services/umbdataformatter.service.js @@ -243,7 +243,7 @@ return item.alias === "_umb_membergroup"; }); saveModel.email = propEmail.value; - saveModel.username = propLogin.value; + saveModel.username = propLogin.value.trim(); saveModel.password = this.formatChangePasswordModel(propPass.value); From 8676a99b3ae5cb87c1115ce2f4c846268800aadd Mon Sep 17 00:00:00 2001 From: Robert Date: Wed, 1 Nov 2017 09:00:05 +0100 Subject: [PATCH 2/3] Trimming login input on the server-side as well --- src/Umbraco.Web/Editors/MemberController.cs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/Umbraco.Web/Editors/MemberController.cs b/src/Umbraco.Web/Editors/MemberController.cs index 888d097bf4..59030dbb40 100644 --- a/src/Umbraco.Web/Editors/MemberController.cs +++ b/src/Umbraco.Web/Editors/MemberController.cs @@ -393,8 +393,9 @@ namespace Umbraco.Web.Editors UpdateName(contentItem); //map the custom properties - this will already be set for new entities in our member binder - contentItem.PersistedContent.Email = contentItem.Email; - contentItem.PersistedContent.Username = contentItem.Username; + contentItem.PersistedContent.Email = contentItem.Email; + //trim the username as we do not want trailing space - issue U4-10589 + contentItem.PersistedContent.Username = contentItem.Username.Trim(); //use the base method to map the rest of the properties base.MapPropertyValues(contentItem); From 73b2d31298f496c6381d674de591d31a2ed5b96f Mon Sep 17 00:00:00 2001 From: Robert Date: Wed, 1 Nov 2017 13:08:17 +0100 Subject: [PATCH 3/3] Moved username trimming to service level, also added email trimming --- src/Umbraco.Core/Services/MemberService.cs | 6 +++++- src/Umbraco.Web/Editors/MemberController.cs | 3 +-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/Umbraco.Core/Services/MemberService.cs b/src/Umbraco.Core/Services/MemberService.cs index 22684f36ba..494a8bc376 100644 --- a/src/Umbraco.Core/Services/MemberService.cs +++ b/src/Umbraco.Core/Services/MemberService.cs @@ -986,7 +986,11 @@ namespace Umbraco.Core.Services /// Optional parameter to raise events. /// Default is True otherwise set to False to not raise events public void Save(IMember entity, bool raiseEvents = true) - { + { + //trimming username and email to make sure we have no trailing space + entity.Username = entity.Username.Trim(); + entity.Email = entity.Email.Trim(); + using (var uow = UowProvider.GetUnitOfWork()) { var saveEventArgs = new SaveEventArgs(entity); diff --git a/src/Umbraco.Web/Editors/MemberController.cs b/src/Umbraco.Web/Editors/MemberController.cs index 59030dbb40..5e246c0d59 100644 --- a/src/Umbraco.Web/Editors/MemberController.cs +++ b/src/Umbraco.Web/Editors/MemberController.cs @@ -394,8 +394,7 @@ namespace Umbraco.Web.Editors //map the custom properties - this will already be set for new entities in our member binder contentItem.PersistedContent.Email = contentItem.Email; - //trim the username as we do not want trailing space - issue U4-10589 - contentItem.PersistedContent.Username = contentItem.Username.Trim(); + contentItem.PersistedContent.Username = contentItem.Username; //use the base method to map the rest of the properties base.MapPropertyValues(contentItem);