From 22ff362521fb9c34eb2ea5f588d4b93bf2ed6cc9 Mon Sep 17 00:00:00 2001 From: Shannon Date: Wed, 27 Sep 2017 22:50:47 +1000 Subject: [PATCH] Changes email validation in c# to use the email address attribute like we do elsewhere in the codebase, adds unit test assertions to verify it validates the new odd email addresses --- src/Umbraco.Core/Security/MembershipProviderBase.cs | 4 ++-- src/Umbraco.Tests/Strings/StringValidationTests.cs | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/Umbraco.Core/Security/MembershipProviderBase.cs b/src/Umbraco.Core/Security/MembershipProviderBase.cs index 06de1ebd17..ea7296fed2 100644 --- a/src/Umbraco.Core/Security/MembershipProviderBase.cs +++ b/src/Umbraco.Core/Security/MembershipProviderBase.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Specialized; +using System.ComponentModel.DataAnnotations; using System.Configuration.Provider; using System.Security.Cryptography; using System.Text; @@ -678,8 +679,7 @@ namespace Umbraco.Core.Security internal static bool IsEmailValid(string email) { - var pattern = UmbracoConfig.For.UmbracoSettings().Content.EmailRegex; - return Regex.IsMatch(email, pattern, RegexOptions.IgnoreCase | RegexOptions.Compiled); + return new EmailAddressAttribute().IsValid(email); } protected internal string EncryptOrHashPassword(string pass, string salt) diff --git a/src/Umbraco.Tests/Strings/StringValidationTests.cs b/src/Umbraco.Tests/Strings/StringValidationTests.cs index c1261a570e..39d6698105 100644 --- a/src/Umbraco.Tests/Strings/StringValidationTests.cs +++ b/src/Umbraco.Tests/Strings/StringValidationTests.cs @@ -17,6 +17,8 @@ namespace Umbraco.Tests.Strings Assert.IsTrue(foo.IsValid("futureTLD@somewhere.fooo")); Assert.IsTrue(foo.IsValid("abc@xyz.financial")); + Assert.IsTrue(foo.IsValid("admin+gmail-syntax@c.pizza")); + Assert.IsTrue(foo.IsValid("admin@c.pizza")); Assert.IsFalse(foo.IsValid("fdsa")); Assert.IsFalse(foo.IsValid("fdsa@"));