using AsbCloudApp.Data;
using FluentValidation;

namespace AsbCloudInfrastructure.Validators
{
    public class UserRegistrationDtoValidator : AbstractValidator<UserRegistrationDto> 
    {
        public UserRegistrationDtoValidator()
        {
            RuleFor(x => x.Login).NotNull().WithMessage("Логин не должен быть пустым");
            RuleFor(x => x.Login).NotEmpty().WithMessage("Логин не должен быть пустым");
            RuleFor(x => x.Login).Length(0, 50).WithMessage("Допустимая длина логина от 1 до 50 символов");
            RuleFor(x => x.Password).NotNull().WithMessage("Пароль не должен быть пустым");
            RuleFor(x => x.Password).NotEmpty().WithMessage("Пароль не должен быть пустым");
            RuleFor(x => x.Password).Length(0, 50).WithMessage("Допустимая длина Пароль от 1 до 50 символов");
            RuleFor(x => x.Name).Length(0, 50).WithMessage("Допустимая длина имени от 1 до 50 символов");
            RuleFor(x => x.Surname).Length(0, 50).WithMessage("Допустимая длина фамилии от 1 до 50 символов");
            RuleFor(x => x.Patronymic).Length(0, 50).WithMessage("Допустимая длина отчества от 1 до 50 символов");
            RuleFor(x => x.Email).Length(0, 260).WithMessage("Допустимая длина email от 1 до 260 символов");
            RuleFor(x => x.Phone).Length(0, 50).WithMessage("Допустимая длина телефона от 1 до 50 символов");
            RuleFor(x => x.Position).Length(0, 100).WithMessage("Допустимая длина должности от 1 до 100 символов");
        }
    }
}