валидация?

This commit is contained in:
dasha 2023-05-17 14:43:35 +04:00
parent f663bfe663
commit e343e4638f

View File

@ -4,6 +4,7 @@ using HardwareShopContracts.SearchModels;
using HardwareShopContracts.StoragesContracts; using HardwareShopContracts.StoragesContracts;
using HardwareShopContracts.ViewModels; using HardwareShopContracts.ViewModels;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
using System.Text.RegularExpressions;
namespace HardwareShopBusinessLogic.BusinessLogics namespace HardwareShopBusinessLogic.BusinessLogics
{ {
@ -93,17 +94,21 @@ namespace HardwareShopBusinessLogic.BusinessLogics
{ {
return; return;
} }
if (string.IsNullOrEmpty(model.Login)) if (string.IsNullOrEmpty(model.Login) || model.Login.Length > 20)
{ {
throw new ArgumentNullException("Нет логина пользователя", nameof(model.Login)); throw new ArgumentNullException("Нет логина пользователя или длина превышает 20 символов", nameof(model.Login));
} }
if (string.IsNullOrEmpty(model.Email)) if (string.IsNullOrEmpty(model.Email) || model.Email.Length > 30)
{ {
throw new ArgumentNullException("Нет почты пользователя", nameof(model.Email)); throw new ArgumentNullException("Нет почты пользователя или длина превышает 30 символов", nameof(model.Email));
} }
if (string.IsNullOrEmpty(model.Password)) if (!Regex.IsMatch(model.Email, @"^[^@\s]+@[^@\s]+\.[^@\s]+$", RegexOptions.IgnoreCase))
{ {
throw new ArgumentNullException("Нет пароля пользователя", nameof(model.Password)); throw new ArgumentException("Неправильно введенная почта", nameof(model.Email));
}
if (string.IsNullOrEmpty(model.Password) || model.Password.Length > 30 || model.Password.Contains(' '))
{
throw new ArgumentNullException("Нет пароля пользователя или пароль содержит пробелы", nameof(model.Password));
} }
_logger.LogInformation("User. Login: {Login}. Email: {Email}. Id: {Id}", _logger.LogInformation("User. Login: {Login}. Email: {Email}. Id: {Id}",
model.Login, model.Email, model.Id); model.Login, model.Email, model.Id);