/
Fanil
/
PetFamily
Обзор
Документация
Войти
/
Fanil
/
PetFamily
Код
Запросы
0
Задачи
Пакеты
0
Релизы
0
Аналитика
Безопасность
Project
PetFamily.API/Validation/CustomResultFactory.cs
34 строки
1 KB
fangimal
added minio
09 авг 2024, 16:34
09 авг 2024, 16:34
64fe496
Код
Авторство
О чём код?
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.Filters; using PetFamily.API.Contracts; using PetFamily.Domain.Common; using SharpGrip.FluentValidation.AutoValidation.Mvc.Results; namespace PetFamily.API.Validation; public class CustomResultFactory : IFluentValidationAutoValidationResultFactory { public IActionResult CreateActionResult( ActionExecutingContext context, ValidationProblemDetails? validationProblemDetails) { if (validationProblemDetails is null) { throw new("ValidationProblemDetails is null"); } List<ErrorInfo> errorInfos = []; foreach (var (invalidField, validationErrors) in validationProblemDetails.Errors) { var errors = validationErrors .Select(Error.Deserialize) .Select(e => new ErrorInfo(e, invalidField)); errorInfos.AddRange(errors); } var envelope = Envelope.Error(errorInfos); return new BadRequestObjectResult(envelope); } }