44 lines
1.4 KiB
C#
44 lines
1.4 KiB
C#
using cuqmbr.TravelGuide.Application.Common.Services;
|
|
using FluentValidation;
|
|
using Microsoft.Extensions.Localization;
|
|
|
|
namespace cuqmbr.TravelGuide.Application.Cities.Queries.GetCitiesPage;
|
|
|
|
public class GetCitiesPageQueryValidator : AbstractValidator<GetCitiesPageQuery>
|
|
{
|
|
public GetCitiesPageQueryValidator(
|
|
IStringLocalizer localizer,
|
|
SessionCultureService 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));
|
|
}
|
|
}
|