валидация?

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.ViewModels;
using Microsoft.Extensions.Logging;
using System.Text.RegularExpressions;
namespace HardwareShopBusinessLogic.BusinessLogics
{
@ -93,17 +94,21 @@ namespace HardwareShopBusinessLogic.BusinessLogics
{
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}",
model.Login, model.Email, model.Id);