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>
[Required]
[StringLength(50, MinimumLength = 1)]
[Required(ErrorMessage = "Логин не должен быть пустым")]
[StringLength(50, MinimumLength = 1, ErrorMessage = "Допустимая длина логина от 1 до 50 символов")]
public string Login { get; set; } = null!;
/// <summary>
/// Пароль пользователя для входа
/// </summary>
[Required]
[StringLength(50, MinimumLength = 1)]
[Required(ErrorMessage = "Пароль не должен быть пустым")]
[StringLength(50, MinimumLength = 1, ErrorMessage = "Допустимая длина пароля от 1 до 50 символов")]
public string Password { get; set; } = null!;
}
}

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -1,4 +1,5 @@
using System;
using System.ComponentModel.DataAnnotations;
namespace AsbCloudApp.Data
{
@ -9,13 +10,15 @@ namespace AsbCloudApp.Data
{
/// <inheritdoc/>
public int Id { get; set; }
/// <inheritdoc/>
[Range(1, int.MaxValue, ErrorMessage = "Id скважины не может быть ниже 1")]
public int IdWell { get; set; }
/// <summary>
/// название
/// </summary>
[StringLength(260, MinimumLength = 1, ErrorMessage = "Допустимая длина имени файла от 1 до 260 символов")]
public string Name { get; set; } = null!;
/// <summary>
@ -47,5 +50,10 @@ namespace AsbCloudApp.Data
/// формат файла
/// </summary>
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>
/// id категории события
/// </summary>
[Range(1, int.MaxValue)]
[Range(1, int.MaxValue, ErrorMessage = "Id категории события не может быть отрицательным")]
public int IdCategory { get; set; }
/// <summary>
@ -32,7 +32,7 @@ namespace AsbCloudApp.Data.SAUB
/// <summary>
/// тип определения наступления события
/// </summary>
[Range(1, int.MaxValue)]
[Range(1, int.MaxValue, ErrorMessage = "Id типа события не может быть отрицательным")]
public int EventType { get; set; }
/// <summary>

View File

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

View File

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

View File

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