using cuqmbr.TravelGuide.Application.Common.Interfaces.Services; using FluentValidation; using Microsoft.Extensions.Localization; namespace cuqmbr.TravelGuide.Application.Trains.Queries.GetTrainsPage; public class GetTrainsPageQueryValidator : AbstractValidator { public GetTrainsPageQueryValidator( IStringLocalizer localizer, CultureService cultureService) { RuleFor(v => v.PageNumber) .GreaterThanOrEqualTo(1) .WithMessage( String.Format( cultureService.Culture, localizer["FluentValidation.GreaterThanOrEqualTo"], 1)); RuleFor(v => v.PageSize) .GreaterThanOrEqualTo(1) .WithMessage( String.Format( cultureService.Culture, localizer["FluentValidation.GreaterThanOrEqualTo"], 1)) .LessThanOrEqualTo(50) .WithMessage( String.Format( cultureService.Culture, localizer["FluentValidation.LessThanOrEqualTo"], 50)); RuleFor(v => v.Search) .MaximumLength(64) .WithMessage( String.Format( cultureService.Culture, localizer["FluentValidation.MaximumLength"], 64)); } }