diff --git a/Oqtane.Client/Modules/Admin/Register/Index.razor b/Oqtane.Client/Modules/Admin/Register/Index.razor index 46fdca01..8401c1f0 100644 --- a/Oqtane.Client/Modules/Admin/Register/Index.razor +++ b/Oqtane.Client/Modules/Admin/Register/Index.razor @@ -42,13 +42,15 @@ string _confirm = ""; string _email = ""; string _displayName = ""; + bool _isEmailValid = false; private async Task Register() { try { _message = ""; - if (_username != "" && _password != "" && _confirm != "" && _email != "") + _isEmailValid = Utilities.IsValidEmail(_email); + if (_username != "" && _password != "" && _confirm != "" && _isEmailValid) { if (_password == _confirm) { @@ -94,4 +96,4 @@ { NavigationManager.NavigateTo(NavigateUrl("")); } -} +} \ No newline at end of file diff --git a/Oqtane.Shared/Shared/Utilities.cs b/Oqtane.Shared/Shared/Utilities.cs index a4d10ce5..1e2a568c 100644 --- a/Oqtane.Shared/Shared/Utilities.cs +++ b/Oqtane.Shared/Shared/Utilities.cs @@ -1,5 +1,7 @@ -using System.Globalization; +using System; +using System.Globalization; using System.Text; +using System.Text.RegularExpressions; namespace Oqtane.Shared { @@ -217,5 +219,15 @@ namespace Oqtane.Shared return ""; } } + + public static bool IsValidEmail(string email) + { + if (string.IsNullOrEmpty(email)) return false; + + return Regex.IsMatch(email, + @"^(?("")("".+?(?