28 lines
998 B
C#
28 lines
998 B
C#
using BlazorWebAssemblyVisaApiClient.Infrastructure.Services.DateTimeProvider;
|
|
using FluentValidation;
|
|
using VisaApiClient;
|
|
|
|
namespace BlazorWebAssemblyVisaApiClient.Validation.VisaApplications.Validators;
|
|
|
|
public class PastVisaModelValidator : AbstractValidator<PastVisaModel>
|
|
{
|
|
public PastVisaModelValidator(IDateTimeProvider dateTimeProvider)
|
|
{
|
|
RuleFor(v => v.ExpirationDate)
|
|
.NotEmpty()
|
|
.WithMessage("Expiration date of past visa can not be empty")
|
|
.GreaterThan(v => v.IssueDate)
|
|
.WithMessage("Past visa expiration date can not be earlier than issue date");
|
|
|
|
RuleFor(v => v.IssueDate)
|
|
.NotEmpty()
|
|
.WithMessage("Issue date of past visa can not be empty")
|
|
.LessThan(dateTimeProvider.Now())
|
|
.WithMessage("Issue date of past visa must be in past");
|
|
|
|
RuleFor(v => v.Name)
|
|
.NotEmpty()
|
|
.WithMessage("Name of past visa can not be empty");
|
|
}
|
|
}
|