Browse Source

Added email validation method

pull/625/head
Alper Ebicoglu 8 years ago
parent
commit
42bea8687d
  1. 20
      framework/src/Volo.Abp.Validation/Volo/Abp/Validation/ValidationHandler.cs
  2. 16
      framework/test/Volo.Abp.Validation.Tests/Volo/Abp/Validation/ApplicationService_Validation_Tests.cs

20
framework/src/Volo.Abp.Validation/Volo/Abp/Validation/ValidationHandler.cs

@ -0,0 +1,20 @@
using System.Text.RegularExpressions;
namespace Volo.Abp.Validation
{
public class ValidationHandler
{
private const string EmailRegEx = @"[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?";
public static bool IsValidEmailAddress(string email)
{
if (string.IsNullOrEmpty(email))
{
return false;
}
/*RFC 2822 (simplified)*/
return Regex.IsMatch(email, EmailRegEx, RegexOptions.Compiled | RegexOptions.IgnoreCase);
}
}
}

16
framework/test/Volo.Abp.Validation.Tests/Volo/Abp/Validation/ApplicationService_Validation_Tests.cs

@ -145,6 +145,22 @@ namespace Volo.Abp.Validation
_myAppService.MyMethodWithNullableEnum(null);
}
[Fact]
public void Should_Validate_Emails()
{
//Valid
ValidationHandler.IsValidEmailAddress("john.doe@domain.com").ShouldBe(true);
ValidationHandler.IsValidEmailAddress("ip@1.2.3.123").ShouldBe(true);
ValidationHandler.IsValidEmailAddress("pharaoh@egyptian.museum").ShouldBe(true);
ValidationHandler.IsValidEmailAddress("john.doe+regexbuddy@gmail.com").ShouldBe(true);
ValidationHandler.IsValidEmailAddress("Mike.O'Dell@ireland.com").ShouldBe(true);
//Invalid
ValidationHandler.IsValidEmailAddress("1024x768@60Hz").ShouldBe(false);
ValidationHandler.IsValidEmailAddress("not.a.valid.email").ShouldBe(false);
ValidationHandler.IsValidEmailAddress("john@aol...com").ShouldBe(false);
}
[DependsOn(typeof(AbpAutofacModule))]
[DependsOn(typeof(AbpValidationModule))]
public class TestModule : AbpModule

Loading…
Cancel
Save