Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- [FluentValidation.Attributes.Validator(typeof(LeagueValidator))]
- public class LeagueViewModel
- {
- public string LeagueName { get; set; }
- public DateTime SeasonBeginDate { get; set; }
- public DateTime SeasonEndDate { get; set; }
- public List<TeamViewModel> TeamViewModels { get; set; }
- }
- public class LeagueValidator : AbstractValidator<LeagueViewModel>
- {
- private readonly ILeagueService _leagueService;
- public LeagueValidator(ILeagueService leagueService)
- {
- _leagueService = leagueService;
- RuleFor(x => x.SeasonEndDate)
- .NotNull()
- .GreaterThan(x => x.SeasonBeginDate)
- .WithMessage("Season End Date must be later than Season Begin Date.");
- }
- }
- public class LeagueValidatorFactory : ValidatorFactoryBase
- {
- private readonly Container _container;
- public LeagueValidatorFactory(Container container)
- {
- _container = container;
- }
- public override IValidator CreateInstance(Type validatorType)
- {
- return _container.GetInstance<LeagueValidator>();
- }
- }
- private static void RegisterValidators(Container container)
- {
- DataAnnotationsModelValidatorProvider.AddImplicitRequiredAttributeForValueTypes = false;
- var leagueValidatorProvider =
- new FluentValidationModelValidatorProvider(new LeagueValidatorFactory(container));
- leagueValidatorProvider.AddImplicitRequiredValidator = false;
- ModelValidatorProviders.Providers.Add(leagueValidatorProvider);
- container.Register<LeagueValidator>();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement