public LocalizedModelValidatorProviderTests()
 {
     _stringProvider = new Mock <IValidationMessageDataSource>();
     ValidationMessageProviders.Clear();
     ValidationMessageProviders.Add(_stringProvider.Object);
     _provider = new LocalizedModelValidatorProvider();
 }
        public void DefaultMessage()
        {
            ValidationMessageProviders.Clear();
            ValidationMessageProviders.Add(new DataAnnotationDefaultStrings());
            var model     = new TestModel();
            var validator = GetValidator(model, "Required");

            var actual = validator.Validate(model).First().Message;

            Assert.Equal("The Required field is required.", actual);
        }
        public void CompareAttribute()
        {
            ValidationMessageProviders.Clear();
            ValidationMessageProviders.Add(new MvcDataSource());
            var model = new TestModel();

            model.Compare2 = "Differ";
            model.Compare1 = "Aaa";
            var validator = GetValidator(model, "Compare1");

            var actual = validator.Validate(model).First().Message;

            Assert.Equal("The Compare1 and Compare2 fields to not match.", actual);
        }
        public void RegEx()
        {
            ValidationMessageProviders.Clear();
            ValidationMessageProviders.Add(new DataAnnotationDefaultStrings());
            var model = new TestModel {
                RegEx = "word"
            };
            var validator = GetValidator(model, "RegEx");

            var actual = validator.Validate(model).First().Message;

            // regex can't be identified in the DataAnnotations resource file :(
            Assert.Equal("[en-US: RegularExpression]", actual);
        }
Exemple #5
0
        public static void RegisterValidators()
        {
            var stringProvider = new ResourceStringProvider(Resources.LocalizedStrings.ResourceManager);

            ModelMetadataProviders.Current = new LocalizedModelMetadataProvider(stringProvider);
            ModelValidatorProviders.Providers.Clear();

            ValidationMessageProviders.Clear();
            ValidationMessageProviders.Add(new MvcDataSource());
            ValidationMessageProviders.Add(new DataAnnotationDefaultStrings());
            ValidationMessageProviders.Add(new GriffinStringsProvider(stringProvider));

            var validatorProvider = new LocalizedModelValidatorProvider();

            ModelValidatorProviders.Providers.Add(validatorProvider);
        }
        protected void Application_Start()
        {
            AreaRegistration.RegisterAllAreas();
            GlobalConfiguration.Configure(WebApiConfig.Register);
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            BundleConfig.RegisterBundles(BundleTable.Bundles);

            var stringProvider = new ResourceStringProvider(Resources.Resources.ResourceManager);

            System.Web.Mvc.ModelMetadataProviders.Current = new LocalizedModelMetadataProvider(stringProvider);

            ValidationMessageProviders.Clear();
            ValidationMessageProviders.Add(new GriffinStringsProvider(stringProvider)); // the rest
            ValidationMessageProviders.Add(new MvcDataSource());                        //mvc attributes
            ValidationMessageProviders.Add(new DataAnnotationDefaultStrings());         //data annotation attributes

            System.Web.Mvc.ModelValidatorProviders.Providers.Clear();
            System.Web.Mvc.ModelValidatorProviders.Providers.Add(new LocalizedModelValidatorProvider());

            DataAnnotationsModelValidatorProvider.AddImplicitRequiredAttributeForValueTypes = false;
        }