| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- using FluentValidation;
- using GreenTree.Maschinenbestellungen.Domain.Model;
- using GreenTree.Maschinenbestellungen.Services.Authorization;
- using GreenTree.Maschinenbestellungen.Web.Models.Rights.User;
- using Microsoft.AspNetCore.Identity;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Security.Cryptography.X509Certificates;
- using System.Threading.Tasks;
- namespace GreenTree.Maschinenbestellungen.Web.Validators
- {
- public class UserValidator : AbstractValidator<UserModel>
- {
- #region DI fields
- // The global DbContext
- private readonly OrderDbContext _eRPDbContext;
- #endregion
- #region Ctor
- /// <summary>
- /// Initializes a new instance of the UserValidator class
- /// </summary>
- /// <param name="eRPDbContext">Global DbContext.</param>
- public UserValidator(OrderDbContext eRPDbContext)
- {
- _eRPDbContext = eRPDbContext;
- RuleFor(x => x.Accountname)
- .NotEmpty()
- .Length(0, 16)
- .WithMessage("Der Kontoname darf maximal 16 Zeichen lang sein.");
- RuleFor(x => x.Accountname)
- .Must(a => !_eRPDbContext.Users.Any(u => u.Accountname == a))
- .When(x => _eRPDbContext.Users
- .Any(u => u.Id != x.Id && u.Accountname == x.Accountname))
- .WithMessage("Der Accountname wird bereits verwendet.");
- RuleFor(x => x.Forename)
- .NotEmpty()
- .WithMessage("Es muss ein gültiger Vorname eingegeben werden.");
- RuleFor(x => x.Lastname)
- .NotEmpty()
- .WithMessage("Es muss ein gültiger Nachname eingegeben werden.");
- RuleFor(x => x.MailAddress)
- .EmailAddress()
- .WithMessage("Es muss eine gültige E-Mail Adresse eingegeben werden.");
- RuleFor(x => x.Birthdate)
- .LessThan(DateTime.Now.Date.AddYears(-12))
- .WithMessage("Das Geburtsdatum muss mindestens 12 Jahre in der Vergangenheit liegen.");
- }
- #endregion
- }
- }
|