55 lines
1.9 KiB
C#
55 lines
1.9 KiB
C#
using cuqmbr.TravelGuide.Application.Common.FluentValidation;
|
|
using cuqmbr.TravelGuide.Application.Common.Services;
|
|
using FluentValidation;
|
|
using Microsoft.Extensions.Localization;
|
|
|
|
namespace cuqmbr.TravelGuide.Application.Authenticaion.Commands.Register;
|
|
|
|
public class RegisterCommandValidator : AbstractValidator<RegisterCommand>
|
|
{
|
|
public RegisterCommandValidator(
|
|
IStringLocalizer localizer,
|
|
SessionCultureService cultureService)
|
|
{
|
|
RuleFor(v => v.Username)
|
|
.NotEmpty()
|
|
.WithMessage(localizer["FluentValidation.NotEmpty"])
|
|
.MinimumLength(1)
|
|
.WithMessage(
|
|
String.Format(
|
|
cultureService.Culture,
|
|
localizer["FluentValidation.MinimumLength"],
|
|
1))
|
|
.MaximumLength(32)
|
|
.WithMessage(
|
|
String.Format(
|
|
cultureService.Culture,
|
|
localizer["FluentValidation.MaximumLength"],
|
|
32))
|
|
.IsUsername()
|
|
.WithMessage(localizer["FluentValidation.IsUsername"]);
|
|
|
|
RuleFor(v => v.Email)
|
|
.NotEmpty()
|
|
.WithMessage(localizer["FluentValidation.NotEmpty"])
|
|
.IsEmail()
|
|
.WithMessage(localizer["FluentValidation.IsEmail"]);
|
|
|
|
RuleFor(v => v.Password)
|
|
.NotEmpty()
|
|
.WithMessage(localizer["FluentValidation.NotEmpty"])
|
|
.MinimumLength(8)
|
|
.WithMessage(
|
|
String.Format(
|
|
cultureService.Culture,
|
|
localizer["FluentValidation.MinimumLength"],
|
|
8))
|
|
.MaximumLength(256)
|
|
.WithMessage(
|
|
String.Format(
|
|
cultureService.Culture,
|
|
localizer["FluentValidation.MaximumLength"],
|
|
256));
|
|
}
|
|
}
|