add error message

This commit is contained in:
eugeniy_ivanov 2023-03-10 05:09:41 +05:00
parent 612fa19b10
commit 4d7ef61ab8
20 changed files with 60 additions and 117 deletions

View File

@ -10,15 +10,15 @@ namespace AsbCloudApp.Data
/// <summary> /// <summary>
/// Имя пользователя для входа /// Имя пользователя для входа
/// </summary> /// </summary>
[Required] [Required(ErrorMessage = "Логин не должен быть пустым")]
[StringLength(50, MinimumLength = 1)] [StringLength(50, MinimumLength = 1, ErrorMessage = "Допустимая длина логина от 1 до 50 символов")]
public string Login { get; set; } = null!; public string Login { get; set; } = null!;
/// <summary> /// <summary>
/// Пароль пользователя для входа /// Пароль пользователя для входа
/// </summary> /// </summary>
[Required] [Required(ErrorMessage = "Пароль не должен быть пустым")]
[StringLength(50, MinimumLength = 1)] [StringLength(50, MinimumLength = 1, ErrorMessage = "Допустимая длина пароля от 1 до 50 символов")]
public string Password { get; set; } = null!; public string Password { get; set; } = null!;
} }
} }

View File

@ -1,4 +1,5 @@
using System.Collections.Generic; using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq; using System.Linq;
namespace AsbCloudApp.Data namespace AsbCloudApp.Data
@ -11,6 +12,7 @@ namespace AsbCloudApp.Data
/// <summary> /// <summary>
/// ИД месторождения, необязательный /// ИД месторождения, необязательный
/// </summary> /// </summary>
[Range(1, int.MaxValue, ErrorMessage = "Id месторождения не может быть меньше 1")]
public int IdDeposit { get; set; } public int IdDeposit { get; set; }
/// <summary> /// <summary>

View File

@ -14,7 +14,7 @@ namespace AsbCloudApp.Data
/// Название /// Название
/// </summary> /// </summary>
[Required] [Required]
[StringLength(50, MinimumLength = 1)] [StringLength(50, MinimumLength = 1, ErrorMessage = "Допустимое имя компании от 1 до 50 символов")]
public string Caption { get; set; } = null!; public string Caption { get; set; } = null!;
/// <summary> /// <summary>
@ -25,7 +25,7 @@ namespace AsbCloudApp.Data
/// <summary> /// <summary>
/// Название типа компании /// Название типа компании
/// </summary> /// </summary>
[StringLength(30, MinimumLength = 1)] [StringLength(30, MinimumLength = 1, ErrorMessage = "Допустимое имя типа компании от 1 до 30 символов")]
public string CompanyTypeCaption { get; set; } = null!; public string CompanyTypeCaption { get; set; } = null!;
} }
} }

View File

@ -1,5 +1,6 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq; using System.Linq;
namespace AsbCloudApp.Data namespace AsbCloudApp.Data
@ -13,11 +14,13 @@ namespace AsbCloudApp.Data
public int Id { get; set; } public int Id { get; set; }
/// <inheritdoc/> /// <inheritdoc/>
[Range(1, int.MaxValue, ErrorMessage = "Id скважины не может быть меньше 1")]
public int IdWell { get; set; } public int IdWell { get; set; }
/// <summary> /// <summary>
/// id категории файла /// id категории файла
/// </summary> /// </summary>
[Range(1, int.MaxValue, ErrorMessage = "Id категории файла не может быть меньше 1")]
public int IdCategory { get; set; } public int IdCategory { get; set; }
/// <summary> /// <summary>
@ -28,6 +31,7 @@ namespace AsbCloudApp.Data
/// <summary> /// <summary>
/// имя файла /// имя файла
/// </summary> /// </summary>
[StringLength(260, MinimumLength = 1, ErrorMessage = "Допустимое имя компании от 1 до 260 символов")]
public string Name { get; set; } = null!; public string Name { get; set; } = null!;
/// <summary> /// <summary>
@ -54,5 +58,12 @@ namespace AsbCloudApp.Data
/// список отметок файла /// список отметок файла
/// </summary> /// </summary>
public IEnumerable<FileMarkDto> FileMarks { get; set; } = Enumerable.Empty<FileMarkDto>(); public IEnumerable<FileMarkDto> FileMarks { get; set; } = Enumerable.Empty<FileMarkDto>();
//RuleFor(x => x.IdWell).GreaterThan(0)
// .WithMessage("Id скважины не может быть меньше 1");
//RuleFor(x => x.IdCategory).GreaterThan(0)
// .WithMessage("Id категории файла не может быть меньше 1");
//RuleFor(x => x.Name).Length(1, 260)
// .WithMessage("Допустимое имя файла от 1 до 260 символов");
} }
} }

View File

@ -1,4 +1,5 @@
using System; using System;
using System.ComponentModel.DataAnnotations;
namespace AsbCloudApp.Data namespace AsbCloudApp.Data
{ {
@ -13,12 +14,14 @@ namespace AsbCloudApp.Data
/// <summary> /// <summary>
/// id ôàéëà /// id ôàéëà
/// </summary> /// </summary>
[Range(1, int.MaxValue, ErrorMessage = "Id файла не может быть меньше 1")]
public int IdFile { get; set; } public int IdFile { get; set; }
/// <summary> /// <summary>
/// 0 - îòêëîíåí /// 0 - îòêëîíåí
/// 1 - ñîãëàñîâàí /// 1 - ñîãëàñîâàí
/// </summary> /// </summary>
[Range(0, int.MaxValue, ErrorMessage = "Id категории действия с файлом не может быть меньше 1")]
public int IdMarkType { get; set; } public int IdMarkType { get; set; }
/// <summary> /// <summary>
@ -26,10 +29,11 @@ namespace AsbCloudApp.Data
/// Íåîáÿçàòåëüíî óêàçûâàòü â çàïðîñå íà ñîçäàíèå. /// Íåîáÿçàòåëüíî óêàçûâàòü â çàïðîñå íà ñîçäàíèå.
/// </summary> /// </summary>
public DateTime DateCreated { get; set; } public DateTime DateCreated { get; set; }
/// <summary> /// <summary>
/// Ïîëåçíûé êîììåíòàðèé /// Ïîëåçíûé êîììåíòàðèé
/// </summary> /// </summary>
[StringLength(4096, MinimumLength = 1, ErrorMessage = "Допустимое имя компании от 1 до 4096 символов")]
public string? Comment { get; set; } public string? Comment { get; set; }
/// <summary> /// <summary>

View File

@ -1,4 +1,6 @@
namespace AsbCloudApp.Data using System.ComponentModel.DataAnnotations;
namespace AsbCloudApp.Data
{ {
/// <summary> /// <summary>
/// Точка на карте с названием /// Точка на карте с названием
@ -11,12 +13,15 @@
/// <summary> /// <summary>
/// Название /// Название
/// </summary> /// </summary>
[StringLength(50, MinimumLength = 1, ErrorMessage = "Допустимая длина названия от 1 до 50 символов")]
public string Caption { get; set; } = null!; public string Caption { get; set; } = null!;
/// <inheritdoc/> /// <inheritdoc/>
[Range(-90, 90, ErrorMessage = "Допустимые значения широты от -90 до 90")]
public double? Latitude { get; set; } public double? Latitude { get; set; }
/// <inheritdoc/> /// <inheritdoc/>
[Range(-180, 180, ErrorMessage = "Допустимые значения долготы от -180 до 180")]
public double? Longitude { get; set; } public double? Longitude { get; set; }
/// <inheritdoc/> /// <inheritdoc/>

View File

@ -13,19 +13,19 @@ namespace AsbCloudApp.Data
public int Id { get; set; } public int Id { get; set; }
/// <inheritdoc/> /// <inheritdoc/>
[Range(1, int.MaxValue)] [Range(1, int.MaxValue, ErrorMessage = "Id скважины не может быть меньше 1")]
public int IdWell { get; set; } public int IdWell { get; set; }
/// <summary> /// <summary>
/// Id категории замера /// Id категории замера
/// </summary> /// </summary>
[Range(1, int.MaxValue)] [Range(1, int.MaxValue, ErrorMessage = "Id категории не может быть меньше 1")]
public int IdCategory { get; set; } public int IdCategory { get; set; }
/// <summary> /// <summary>
/// название категории замера /// название категории замера
/// </summary> /// </summary>
[StringLength(120, MinimumLength = 1)] [StringLength(120, MinimumLength = 1, ErrorMessage = "Название категории не может быть больше 120 символов")]
public string CategoryName { get; set; } = string.Empty; public string CategoryName { get; set; } = string.Empty;
/// <summary> /// <summary>

View File

@ -19,7 +19,7 @@ namespace AsbCloudApp.Data
/// <summary> /// <summary>
/// категория события /// категория события
/// </summary> /// </summary>
[Range(1, int.MaxValue)] [Range(1, int.MaxValue, ErrorMessage = "Id категории не может быть ниже 1")]
public int CategoryId { get; set; } public int CategoryId { get; set; }
/// <summary> /// <summary>
@ -35,7 +35,7 @@ namespace AsbCloudApp.Data
/// <summary> /// <summary>
/// текст сообщения /// текст сообщения
/// </summary> /// </summary>
[StringLength(400, MinimumLength = 1)] [StringLength(400, MinimumLength = 1, ErrorMessage = "Допустимая длина текста сообщения от 1 до 400 символов")]
public string Message { get; set; } = string.Empty; public string Message { get; set; } = string.Empty;
} }
} }

View File

@ -14,13 +14,13 @@ namespace AsbCloudApp.Data
/// <summary> /// <summary>
/// Название /// Название
/// </summary> /// </summary>
[StringLength(50, MinimumLength = 1)] [StringLength(50, MinimumLength = 1, ErrorMessage = "Допустимая длина названия разрешения от 1 до 50 символов")]
public string Name { get; set; } = string.Empty; public string Name { get; set; } = string.Empty;
/// <summary> /// <summary>
/// Описание /// Описание
/// </summary> /// </summary>
[StringLength(1024, MinimumLength = 1)] [StringLength(1024, MinimumLength = 1, ErrorMessage = "Допустимая длина описания от 1 до 1024 символов")]
public string? Description { get; set; } public string? Description { get; set; }
} }
} }

View File

@ -12,7 +12,7 @@ namespace AsbCloudApp.Data.ProcessMap
public int Id { get; set; } public int Id { get; set; }
/// <inheritdoc/> /// <inheritdoc/>
[Range(1,int.MaxValue)] [Range(1,int.MaxValue, ErrorMessage = "Id скважины не может быть меньше 1")]
public int IdWell { get; set; } public int IdWell { get; set; }
/// <summary> /// <summary>
@ -33,13 +33,13 @@ namespace AsbCloudApp.Data.ProcessMap
/// <summary> /// <summary>
/// Стартовая глубина /// Стартовая глубина
/// </summary> /// </summary>
[Range(0,50000)] [Range(0,50000,ErrorMessage = "Глубина не может быть отрицательной")]
public double DepthStart { get; set; } public double DepthStart { get; set; }
/// <summary> /// <summary>
/// Глубина окончания интервала /// Глубина окончания интервала
/// </summary> /// </summary>
[Range(0, 50000)] [Range(0, 50000, ErrorMessage = "Глубина не может быть отрицательной")]
public double DepthEnd { get; set; } public double DepthEnd { get; set; }
/// <summary> /// <summary>

View File

@ -1,4 +1,5 @@
using System; using System;
using System.ComponentModel.DataAnnotations;
namespace AsbCloudApp.Data namespace AsbCloudApp.Data
{ {
@ -9,13 +10,15 @@ namespace AsbCloudApp.Data
{ {
/// <inheritdoc/> /// <inheritdoc/>
public int Id { get; set; } public int Id { get; set; }
/// <inheritdoc/> /// <inheritdoc/>
[Range(1, int.MaxValue, ErrorMessage = "Id скважины не может быть ниже 1")]
public int IdWell { get; set; } public int IdWell { get; set; }
/// <summary> /// <summary>
/// название /// название
/// </summary> /// </summary>
[StringLength(260, MinimumLength = 1, ErrorMessage = "Допустимая длина имени файла от 1 до 260 символов")]
public string Name { get; set; } = null!; public string Name { get; set; } = null!;
/// <summary> /// <summary>
@ -47,5 +50,10 @@ namespace AsbCloudApp.Data
/// формат файла /// формат файла
/// </summary> /// </summary>
public string Format { get; set; } = string.Empty; public string Format { get; set; } = string.Empty;
//RuleFor(x => x.Name).Length(1, 260)
// .WithMessage("Допустимая длина имени файла от 1 до 260 символов");
//RuleFor(x => x.IdWell).GreaterThan(0)
// .WithMessage("Id скважины не может быть меньше 1");
} }
} }

View File

@ -21,7 +21,7 @@ namespace AsbCloudApp.Data.SAUB
/// <summary> /// <summary>
/// id категории события /// id категории события
/// </summary> /// </summary>
[Range(1, int.MaxValue)] [Range(1, int.MaxValue, ErrorMessage = "Id категории события не может быть отрицательным")]
public int IdCategory { get; set; } public int IdCategory { get; set; }
/// <summary> /// <summary>
@ -32,7 +32,7 @@ namespace AsbCloudApp.Data.SAUB
/// <summary> /// <summary>
/// тип определения наступления события /// тип определения наступления события
/// </summary> /// </summary>
[Range(1, int.MaxValue)] [Range(1, int.MaxValue, ErrorMessage = "Id типа события не может быть отрицательным")]
public int EventType { get; set; } public int EventType { get; set; }
/// <summary> /// <summary>

View File

@ -16,7 +16,7 @@ namespace AsbCloudApp.Data
/// название /// название
/// </summary> /// </summary>
[Required] [Required]
[StringLength(50, MinimumLength = 1)] [StringLength(50, MinimumLength = 1,ErrorMessage = "Допустимая длина названия роли от 1 до 50 символов")]
public string Caption { get; set; } = null!; public string Caption { get; set; } = null!;
/// <summary> /// <summary>

View File

@ -11,11 +11,11 @@ namespace AsbCloudApp.Data
public class WellDto : WellInfoDto, IMapPoint, IId public class WellDto : WellInfoDto, IMapPoint, IId
{ {
/// <inheritdoc/> /// <inheritdoc/>
[Range(-90, 90)] [Range(-90, 90, ErrorMessage = "Допустимые значения широты от -90 до 90")]
public double? Latitude { get; set; } public double? Latitude { get; set; }
/// <inheritdoc/> /// <inheritdoc/>
[Range(-180, 180)] [Range(-180, 180, ErrorMessage = "Допустимые значения долготы от -180 до 180")]
public double? Longitude { get; set; } public double? Longitude { get; set; }
/// <inheritdoc/> /// <inheritdoc/>

View File

@ -8,12 +8,15 @@ namespace AsbCloudApp.Data
/// </summary> /// </summary>
public class WellOperationDto : IId, IWellRelated public class WellOperationDto : IId, IWellRelated
{ {
/// <inheritdoc/> /// <inheritdoc/>
public int Id { get; set; } public int Id { get; set; }
/// <inheritdoc/> /// <inheritdoc/>
[Required] [Required]
[Range(1, int.MaxValue)] [Range(1, int.MaxValue, ErrorMessage = "Id скважины не может быть меньше 1")]
public int IdWell { get; set; } public int IdWell { get; set; }
/// <summary> /// <summary>
@ -91,7 +94,7 @@ namespace AsbCloudApp.Data
/// <summary> /// <summary>
/// Полезный комментарий /// Полезный комментарий
/// </summary> /// </summary>
[StringLength(4096)] [StringLength(4096, ErrorMessage = "Комментарий не может быть длиннее 4096 символов")]
public string? Comment { get; set; } public string? Comment { get; set; }
} }
} }

View File

@ -1,20 +0,0 @@
using AsbCloudApp.Data;
using FluentValidation;
namespace AsbCloudInfrastructure.Validators
{
public class ClusterDtoValidator : AbstractValidator<ClusterDto>
{
public ClusterDtoValidator()
{
RuleFor(x => x.Caption).Length(1, 50)
.WithMessage("Допустимая длина названия от 1 до 50 символов");
RuleFor(x => x.Latitude).Must(l => l is null or <= 90 and >= -90)
.WithMessage("Допустимые значения широты от -90 до 90");
RuleFor(x => x.Longitude).Must(l => l is null or <= 180 and >= -180)
.WithMessage("Допустимые значения долготы от -180 до 180");
RuleFor(x => x.IdDeposit).GreaterThan(0)
.WithMessage("Id не может быть меньше 1");
}
}
}

View File

@ -1,18 +0,0 @@
using AsbCloudApp.Data;
using FluentValidation;
namespace AsbCloudInfrastructure.Validators
{
public class DepositDtoValidator : AbstractValidator<DepositDto>
{
public DepositDtoValidator()
{
RuleFor(x => x.Caption).Length(1, 50)
.WithMessage("Допустимая длина названия от 1 до 50 символов");
RuleFor(x => x.Latitude).Must(l => l is null or <= 90 and >= -90)
.WithMessage("Допустимые значения широты от -90 до 90");
RuleFor(x => x.Longitude).Must(l => l is null or <= 180 and >= -180)
.WithMessage("Допустимые значения долготы от -180 до 180");
}
}
}

View File

@ -1,18 +0,0 @@
using AsbCloudApp.Data;
using FluentValidation;
namespace AsbCloudInfrastructure.Validators
{
public class FileInfoDtoValidator : AbstractValidator<FileInfoDto>
{
public FileInfoDtoValidator()
{
RuleFor(x => x.IdWell).GreaterThan(0)
.WithMessage("Id скважины не может быть меньше 1");
RuleFor(x => x.IdCategory).GreaterThan(0)
.WithMessage("Id категории файла не может быть меньше 1");
RuleFor(x => x.Name).Length(1, 260)
.WithMessage("Допустимое имя файла от 1 до 260 символов");
}
}
}

View File

@ -1,18 +0,0 @@
using AsbCloudApp.Data;
using FluentValidation;
namespace AsbCloudInfrastructure.Validators
{
public class FileMarkDtoValidator : AbstractValidator<FileMarkDto>
{
public FileMarkDtoValidator()
{
RuleFor(x => x.IdFile).GreaterThan(0)
.WithMessage("Id файла не может быть ниже 1");
RuleFor(x => x.IdMarkType).GreaterThan(0)
.WithMessage("Id категории действия с файлом не может быть ниже 1");
RuleFor(x => x.Comment).MaximumLength(4096)
.WithMessage("Длина текста комментария не может быть выше 4096 символов");
}
}
}

View File

@ -1,16 +0,0 @@
using AsbCloudApp.Data;
using FluentValidation;
namespace AsbCloudInfrastructure.Validators
{
public class ReportPropertiesDtoValidator : AbstractValidator<ReportPropertiesDto>
{
public ReportPropertiesDtoValidator()
{
RuleFor(x => x.Name).Length(1, 260)
.WithMessage("Допустимая длина имени файла от 1 до 260 символов");
RuleFor(x => x.IdWell).GreaterThan(0)
.WithMessage("Id скважины не может быть меньше 1");
}
}
}