d076f4e98d
Co-authored-by: gorbenko.pavel <gorbenko.pavel@tansu.kz> Reviewed-on: http://git.tnsu.kz/gorbenko.pavel/tnsu-approval-route/pulls/11
23 lines
1.2 KiB
C#
23 lines
1.2 KiB
C#
using FluentValidation;
|
|
using Tnsu.ApprovalRoute.Domain.Enums;
|
|
|
|
namespace Tnsu.ApprovalRoute.Application.TemplateRoutes;
|
|
|
|
// Компания и отдел маршрута — оба опциональны, поэтому CreateTemplateRouteRequest/
|
|
// UpdateTemplateRouteRequest/PatchTemplateRouteRequest не нуждаются в отдельных
|
|
// валидаторах: маршрут без компании служит запасным вариантом, когда для
|
|
// конкретной компании инициатора своего маршрута нет (см. ResolveAsync).
|
|
|
|
public sealed class ResolveTemplateRouteRequestValidator : AbstractValidator<ResolveTemplateRouteRequest>
|
|
{
|
|
public ResolveTemplateRouteRequestValidator()
|
|
{
|
|
RuleFor(x => x.Status).NotEqual(RouteStepStatus.None).WithMessage("Статус обязателен: Approval или Execution.");
|
|
RuleForEach(x => x.FieldValues).ChildRules(v =>
|
|
{
|
|
v.RuleFor(f => f.FieldName).NotEmpty().WithMessage("Имя поля обязательно.");
|
|
v.RuleFor(f => f.Value).NotEmpty().WithMessage("Значение поля обязательно.");
|
|
});
|
|
}
|
|
}
|