Esempio n. 1
0
        public void Install(IWindsorContainer container, IConfigurationStore store)
        {
            //validation
            FluentValidation.IValidatorFactory validatorFactory = new ServiceLocatorValidatorFactory(container);

            //mvc
            ModelValidatorProviders.Providers.Add(new FluentValidation.Mvc.FluentValidationModelValidatorProvider(validatorFactory));
            DataAnnotationsModelValidatorProvider.AddImplicitRequiredAttributeForValueTypes = false;
        }
        private static FluentValidationModelValidatorProvider CreateFluentValidationModelValidatorProvider(IRotorContext context)
        {
            var serviceLocator = context.ServiceLocator;
            var validatorFactory = new ServiceLocatorValidatorFactory(serviceLocator);

            var retriever = new ValidatorRetriever();
            foreach (var type in retriever.GetAllValidatorTypes())
                validatorFactory.AddValidatorToBeResolved(type);

            return new FluentValidationModelValidatorProvider(validatorFactory);
        }
        public void Generic__Can_resolve_a_validator_after_adding_the_type()
        {
            var serviceLocator = new TestServiceLocator();
            var factory        = new ServiceLocatorValidatorFactory(serviceLocator);

            var validatorType = typeof(TestItemValidator);

            factory.AddValidatorToBeResolved(validatorType);

            factory.GetValidator <TestItem>();

            Assert.AreEqual(validatorType, serviceLocator.TypeThatWasResolved);
        }
        private static FluentValidationModelValidatorProvider CreateFluentValidationModelValidatorProvider(IRotorContext context)
        {
            var serviceLocator   = context.ServiceLocator;
            var validatorFactory = new ServiceLocatorValidatorFactory(serviceLocator);

            var retriever = new ValidatorRetriever();

            foreach (var type in retriever.GetAllValidatorTypes())
            {
                validatorFactory.AddValidatorToBeResolved(type);
            }

            return(new FluentValidationModelValidatorProvider(validatorFactory));
        }
        public void Generic__Resolves_the_correct_type_when_multiple_validators_are_added()
        {
            var serviceLocator = new TestServiceLocator();
            var factory        = new ServiceLocatorValidatorFactory(serviceLocator);

            var validatorType = typeof(TestItemValidator);

            factory.AddValidatorToBeResolved(validatorType);
            factory.AddValidatorToBeResolved(typeof(SecondTestItemValidator));

            factory.GetValidator <TestItem>();

            Assert.AreEqual(validatorType, serviceLocator.TypeThatWasResolved);
        }