public void SimpleAndOps_WithAC_ShouldBeSuccess_Test() { var options = new ValidationOptions(); options.AnnotationEnabled = false; options.FailureIfInstanceIsNull = true; options.FailureIfProjectNotMatch = false; options.CustomValidatorEnabled = false; var provider = new ValidationProvider(ValidationProjectManager, VerifiableObjectResolver, options); ValidationRegistrar.ForProvider(provider, "UT_SimpleAndOps_WithAC_ShouldBeSuccess_Test") .ForType <NiceBoat>() .ForMember(x => x.Name).MaxLength(8).When(x => x.StartsWith("M")).And().MinLength(7).Unless(x => x.StartsWith("N")) .Build(); var validator = ValidationMe.Use("UT_SimpleAndOps_WithAC_ShouldBeSuccess_Test").Resolve <NiceBoat>(); var instance = new NiceBoat { Name = "NiceBoat1", //9 Length = 1000, Width = 30, CreateTime = DateTimeFactory.Create(2020, 12, 21), Email = "*****@*****.**" }; var result1 = validator.Verify(instance); result1.ShouldNotBeNull(); result1.IsValid.ShouldBeTrue(); }
public void UseGenericStrategyAndVerifyInstanceAndReturnSuccessTest() { var options = new ValidationOptions(); options.AnnotationEnabled = false; options.FailureIfInstanceIsNull = true; options.FailureIfProjectNotMatch = false; options.CustomValidatorEnabled = false; var provider = new ValidationProvider(ValidationProjectManager, VerifiableObjectResolver, options); ValidationRegistrar.ForProvider(provider, "UT_UseGenericStrategyAndVerifyInstanceAndReturnSuccessTest") .ForStrategy <GenericNiceBoatStrategy, NiceBoat>() .Build(); var validator = ValidationMe.Use("UT_UseGenericStrategyAndVerifyInstanceAndReturnSuccessTest").Resolve <NiceBoat>(); var instance = new NiceBoat { Name = "NiceBoat1000", Length = 1000, Width = 30, CreateTime = DateTimeFactory.Create(2020, 12, 21), Email = "*****@*****.**" }; var result1 = validator.Verify(instance); result1.ShouldNotBeNull(); result1.IsValid.ShouldBeTrue(); }
public override void PreInitialize() { this.IocManager.IocContainer.Register(Component.For <TypeResolver>().UsingFactoryMethod(() => new TypeResolver()).LifeStyle.Singleton); Configuration.Auditing.IsEnabledForAnonymousUsers = true; // Declare entity types Configuration.Modules.Zero().EntityTypes.Tenant = typeof(Tenant); Configuration.Modules.Zero().EntityTypes.Role = typeof(Role); Configuration.Modules.Zero().EntityTypes.User = typeof(User); InterceptorsLocalizationConfigurer.Configure(Configuration.Localization); // Enable this line to create a multi-tenant application. Configuration.MultiTenancy.IsEnabled = InterceptorsConsts.MultiTenancyEnabled; // Configure roles AppRoleConfig.Configure(Configuration.Modules.Zero().RoleManagement); Configuration.Settings.Providers.Add <AppSettingProvider>(); ValidationRegistrar.Initialize(this.IocManager.IocContainer.Kernel); PreTreatmentRegistrar.Initialize(this.IocManager.IocContainer.Kernel); PostTreatmentRegistrar.Initialize(this.IocManager.IocContainer.Kernel); }
public void VerifyAnByInstanceShouldBeFailureTest() { var options = new ValidationOptions(); options.AnnotationEnabled = false; options.FailureIfInstanceIsNull = true; options.FailureIfProjectNotMatch = false; options.CustomValidatorEnabled = false; var provider = new ValidationProvider(ValidationProjectManager, VerifiableObjectResolver, options); var handler = ValidationRegistrar.ForProvider(provider, "UTH_VerifyAnByInstanceShouldBeFailureTest") .ForType <NiceBoat>() .ForMember("Name").NotEmpty() .AndForMember("Length").GreaterThanOrEqual(0) .AndForMember("Width").GreaterThanOrEqual(0) .TempBuild(); var instance = new NiceBoat { Name = "", Length = -1000, Width = -30, CreateTime = DateTimeFactory.Create(2020, 12, 21), Email = "nice@@boat.com" }; var result1 = handler.Verify(instance); result1.ShouldNotBeNull(); result1.IsValid.ShouldBeFalse(); result1.Errors.Should().HaveCount(3); }
public void ConditionPriorityTest() { var options = new ValidationOptions(); options.AnnotationEnabled = false; options.FailureIfInstanceIsNull = true; options.FailureIfProjectNotMatch = false; options.CustomValidatorEnabled = false; var provider = new ValidationProvider(ValidationProjectManager, VerifiableObjectResolver, options); ValidationRegistrar.ForProvider(provider, "UT_ConditionPriorityTest") .ForType <NiceBoat>() .ForMember(x => x.Name).MaxLength(10).And().MinLength(8).Or().MaxLength(20).And().MinLength(18) .Build(); var validator = ValidationMe.Use("UT_ConditionPriorityTest").Resolve <NiceBoat>(); var instance = new NiceBoat { Name = "NiceBoat1234567890Z", //19 Length = 1000, Width = 30, CreateTime = DateTimeFactory.Create(2020, 12, 21), Email = "*****@*****.**" }; var result1 = validator.Verify(instance); result1.ShouldNotBeNull(); result1.IsValid.ShouldBeTrue(); }
public void ValidationOneWithDataAnnotationAndShouldBeSuccessTest() { var options = new ValidationOptions(); options.AnnotationEnabled = false; options.FailureIfInstanceIsNull = true; options.FailureIfProjectNotMatch = false; options.CustomValidatorEnabled = true; var provider = new ValidationProvider(ValidationProjectManager, VerifiableObjectResolver, options); ValidationRegistrar.ForProvider(provider, "UT_ValidationOneWithDataAnnotationAndShouldBeSuccessTest") .ForDataAnnotationSupport() .Build(); var validator = ValidationMe.Use("UT_ValidationOneWithDataAnnotationAndShouldBeSuccessTest").Resolve <GoodJob>(); var model = new GoodJob() { Name = "Good", Cost = 11 }; validator.VerifyOne(x => x.Name, model.Name).IsValid.Should().BeTrue(); validator.VerifyOne(model.Name, "Name").IsValid.Should().BeTrue(); validator.VerifyOne(typeof(GoodJob), model.Name, "Name").IsValid.Should().BeTrue(); }
public void VerifyManyByDictionaryShouldBeSuccessTest() { var options = new ValidationOptions(); options.AnnotationEnabled = false; options.FailureIfInstanceIsNull = true; options.FailureIfProjectNotMatch = false; options.CustomValidatorEnabled = false; var provider = new ValidationProvider(ValidationProjectManager, VerifiableObjectResolver, options); var handler = ValidationRegistrar.ForProvider(provider, "UTH_VerifyAnByDictionaryShouldBeSuccessTest") .ForType <NiceBoat>() .ForMember("Name").NotEmpty() .AndForMember("Length").GreaterThanOrEqual(0) .AndForMember("Width").GreaterThanOrEqual(0) .TempBuild(); var d = new Dictionary <string, object> { ["Name"] = "NiceBoat1000", ["Length"] = 1000, ["Width"] = 30, ["CreateTime"] = DateTimeFactory.Create(2020, 12, 21), ["Email"] = "*****@*****.**" }; var result1 = handler.VerifyMany(typeof(NiceBoat), d); result1.ShouldNotBeNull(); result1.IsValid.ShouldBeTrue(); }
public void VerifyManyByDictionaryShouldBeFailureTest() { var options = new ValidationOptions(); options.AnnotationEnabled = false; options.FailureIfInstanceIsNull = true; options.CustomValidatorEnabled = false; options.FailureIfProjectNotMatch = false; var provider = new ValidationProvider(ValidationProjectManager, VerifiableObjectResolver, options); ValidationRegistrar.ForProvider(provider, "UT_VerifyAnByDictionaryShouldBeFailureTest") .ForType <NiceBoat>() .ForMember("Name").NotEmpty() .AndForMember("Length").GreaterThanOrEqual(0) .AndForMember("Width").GreaterThanOrEqual(0) .Build(); var validator = ValidationMe.Use("UT_VerifyAnByDictionaryShouldBeFailureTest").Resolve <NiceBoat>(); var d = new Dictionary <string, object> { ["Name"] = "", ["Length"] = -1000, ["Width"] = -30, ["CreateTime"] = DateTimeFactory.Create(2020, 12, 21), ["Email"] = "nice@@boat.com" }; var result1 = validator.VerifyMany(d); result1.ShouldNotBeNull(); result1.IsValid.ShouldBeFalse(); result1.Errors.Should().HaveCount(3); }
public void ValidationModelWorkWithFluentValidationAndShouldBeSuccessTest() { var options = new ValidationOptions(); options.AnnotationEnabled = false; options.FailureIfInstanceIsNull = true; options.FailureIfProjectNotMatch = false; options.CustomValidatorEnabled = true; var provider = new ValidationProvider(ValidationProjectManager, VerifiableObjectResolver, options); ValidationRegistrar .ForProvider(provider, "UTF_ValidationModelWorkWithFluentValidationAndShouldBeSuccessTest") .ForFluentValidator <GanglvToniValidator>() .Build(); var validator = ValidationMe.Use("UTF_ValidationModelWorkWithFluentValidationAndShouldBeSuccessTest") .Resolve <GanglvToni>(); var model = new GanglvToni() { Name = "Good", Age = 11 }; validator.Verify(typeof(GanglvToni), model).IsValid.Should().BeTrue(); }
public void VerifyOneWithPropertySelectorAndShouldBeFailureTest() { var options = new ValidationOptions(); options.AnnotationEnabled = false; options.FailureIfInstanceIsNull = true; options.FailureIfProjectNotMatch = false; options.CustomValidatorEnabled = false; var provider = new ValidationProvider(ValidationProjectManager, VerifiableObjectResolver, options); ValidationRegistrar.ForProvider(provider, "UT_VerifyOneWithPropertySelectorAndShouldBeFailureTest") .ForType <NiceBoat>() .ForMember("Name").NotEmpty() .AndForMember("Length").GreaterThanOrEqual(0) .AndForMember("Width").GreaterThanOrEqual(0) .Build(); var validator = ValidationMe.Use("UT_VerifyOneWithPropertySelectorAndShouldBeFailureTest").Resolve <NiceBoat>(); validator.VerifyOne(x => x.Name, "").IsValid.ShouldBeFalse(); validator.VerifyOne(x => x.Length, -1000).IsValid.ShouldBeFalse(); validator.VerifyOne(x => x.Width, -30).IsValid.ShouldBeFalse(); validator.VerifyOne(x => x.CreateTime, DateTimeFactory.Create(2020, 12, 21)).IsValid.ShouldBeTrue(); validator.VerifyOne(x => x.Email, "nice@@boat.com").IsValid.ShouldBeTrue(); // Because Annotation and CustomValidation are all disable. }
public void VerifyOneShouldBeSuccessTest() { var options = new ValidationOptions(); options.AnnotationEnabled = false; options.FailureIfInstanceIsNull = true; options.FailureIfProjectNotMatch = false; options.CustomValidatorEnabled = false; var provider = new ValidationProvider(ValidationProjectManager, VerifiableObjectResolver, options); ValidationRegistrar.ForProvider(provider, "UT_VerifyOneShouldBeSuccessTest") .ForType <NiceBoat>() .ForMember("Name").NotEmpty() .AndForMember("Length").GreaterThanOrEqual(0) .AndForMember("Width").GreaterThanOrEqual(0) .Build(); var validator = ValidationMe.Use("UT_VerifyOneShouldBeSuccessTest").Resolve <NiceBoat>(); validator.VerifyOne(typeof(string), "Nice", "Name").IsValid.ShouldBeTrue(); validator.VerifyOne(typeof(long), 1000, "Length").IsValid.ShouldBeTrue(); validator.VerifyOne(typeof(long), 20, "Width").IsValid.ShouldBeTrue(); validator.VerifyOne(typeof(DateTime), DateTimeFactory.Create(2020, 12, 21), "CreateTime").IsValid.ShouldBeTrue(); validator.VerifyOne(typeof(string), "*****@*****.**", "Email").IsValid.ShouldBeTrue(); }
public void SimpleOrOps_ShouldBeFailure_Test() { var options = new ValidationOptions(); options.AnnotationEnabled = false; options.FailureIfInstanceIsNull = true; options.FailureIfProjectNotMatch = false; options.CustomValidatorEnabled = false; var provider = new ValidationProvider(ValidationProjectManager, VerifiableObjectResolver, options); ValidationRegistrar.ForProvider(provider, "UT_SimpleOrOps_ShouldBeFailure_Test") .ForType <NiceBoat>() .ForMember(x => x.Width).GreaterThan(12).Or().LessThan(8) .Build(); var validator = ValidationMe.Use("UT_SimpleOrOps_ShouldBeFailure_Test").Resolve <NiceBoat>(); var instance = new NiceBoat { Name = "NiceBoat1", Length = 1000, Width = 10, CreateTime = DateTimeFactory.Create(2020, 12, 21), Email = "*****@*****.**" }; var result1 = validator.Verify(instance); result1.ShouldNotBeNull(); result1.IsValid.ShouldBeFalse(); }
public void RegistrarContinueOrDefaultTest() { var registrar1 = ValidationRegistrar.ContinueOrDefault("UT_RegistrarContinueOrDefaultTest1"); var registrarRef = ValidationRegistrar.Continue(); //Default/Main registrar registrar1.ShouldNotBeNull(); registrarRef.ShouldNotBeNull(); var instance1 = registrar1 as InternalValidationRegistrar; var instanceRef = registrarRef as InternalValidationRegistrar; instance1.ShouldNotBeNull(); instanceRef.ShouldNotBeNull(); instance1.Name.ShouldBe(instanceRef.Name); var provider = new ValidationProvider(new FakeProjectManager(), new DefaultVerifiableObjectResolver(), new ValidationOptions()); var registrar2 = ValidationRegistrar.ForProvider(provider, "UT_RegistrarContinueOrDefaultTest2"); var registrar3 = ValidationRegistrar.ContinueOrDefault("UT_RegistrarContinueOrDefaultTest2"); registrar2.ShouldNotBeNull(); registrar3.ShouldNotBeNull(); var instance2 = registrar2 as InternalValidationRegistrar; var instance3 = registrar3 as InternalValidationRegistrar; instance2.ShouldNotBeNull(); instance3.ShouldNotBeNull(); instance2.Name.ShouldBe("UT_RegistrarContinueOrDefaultTest2"); instance3.Name.ShouldBe("UT_RegistrarContinueOrDefaultTest2"); }
public void VerifyCustomValidatorAndShouldBeFailureTest() { var options = new ValidationOptions(); options.AnnotationEnabled = false; options.FailureIfInstanceIsNull = true; options.FailureIfProjectNotMatch = false; options.CustomValidatorEnabled = true; //important var provider = new ValidationProvider(ValidationProjectManager, VerifiableObjectResolver, options); ValidationRegistrar.ForProvider(provider, "UT_VerifyCustomValidatorAndShouldBeFailure32Test") .ForCustomValidator(new LengthShould32Validator()) .Build(); var validator1 = ValidationMe.Use("UT_VerifyCustomValidatorAndShouldBeFailure32Test").Resolve <Length32Model>(); var validator2 = new LengthShould32Validator(); var model = new Length32Model { Name = "12345678901234" }; validator1.Verify(model).IsValid.ShouldBeFalse(); validator2.Verify(model).IsValid.ShouldBeFalse(); }
public void ValidationModelWorkWithFluentValidationAndShouldBeFailureTest() { var options = new ValidationOptions(); options.AnnotationEnabled = false; options.FailureIfInstanceIsNull = true; options.FailureIfProjectNotMatch = false; options.CustomValidatorEnabled = true; var provider = new ValidationProvider(ValidationProjectManager, VerifiableObjectResolver, options); ValidationRegistrar .ForProvider(provider, "UTF_ValidationModelWorkWithFluentValidationAndShouldBeFailureTest") .ForFluentValidator <GanglvToniValidator, GanglvToni>() .Build(); var validator = ValidationMe.Use("UTF_ValidationModelWorkWithFluentValidationAndShouldBeFailureTest") .Resolve <GanglvToni>(); var model1 = new GanglvToni() { Name = "", Age = 11 }; var model2 = new GanglvToni() { Name = "11111111111", Age = 11 }; var model3 = new GanglvToni() { Name = "Good", Age = 9 }; var model4 = new GanglvToni() { Name = "", Age = -9 }; var r1 = validator.Verify(typeof(GanglvToni), model1); var r2 = validator.Verify(typeof(GanglvToni), model2); var r3 = validator.Verify(typeof(GanglvToni), model3); var r4 = validator.Verify(typeof(GanglvToni), model4); r1.IsValid.ShouldBeFalse(); r2.IsValid.ShouldBeFalse(); r3.IsValid.ShouldBeFalse(); r4.IsValid.ShouldBeFalse(); r1.MemberNames.Should().HaveCount(1); r2.MemberNames.Should().HaveCount(1); r3.MemberNames.Should().HaveCount(1); r4.MemberNames.Should().HaveCount(2); }
public void StrategyLevelTakeEffectTest() { var registrar = ValidationRegistrar.Continue(); registrar.ShouldNotBeNull(); var exposedPoint1 = (registrar as InternalValidationRegistrar)?.GetCorrectValueRulesForUnitTests(); var _typedRulesDictionary1 = exposedPoint1.Value.Item1; var _namedRulesDictionary1 = exposedPoint1.Value.Item2; _typedRulesDictionary1.ShouldNotBeNull(); _namedRulesDictionary1.ShouldNotBeNull(); _typedRulesDictionary1.Keys.Should().HaveCount(0); _namedRulesDictionary1.Keys.Should().HaveCount(0); registrar.ForStrategy <NormalNiceBoatStrategy>().TakeEffect(); var exposedPoint2 = (registrar as InternalValidationRegistrar)?.GetCorrectValueRulesForUnitTests(); exposedPoint2.ShouldNotBeNull(); var _typedRulesDictionary2 = exposedPoint2.Value.Item1; var _namedRulesDictionary2 = exposedPoint2.Value.Item2; _typedRulesDictionary2.ShouldNotBeNull(); _namedRulesDictionary2.ShouldNotBeNull(); _typedRulesDictionary2.Keys.Should().HaveCount(1); _namedRulesDictionary2.Keys.Should().HaveCount(0); var rules = _typedRulesDictionary2[typeof(NiceBoat)]; rules.Should().HaveCount(3); rules[0].Should().NotBeNull() .And.Match <CorrectValueRule>(x => x.MemberName == "Name") .And.Match <CorrectValueRule>(x => x.Mode == CorrectValueRuleMode.Append) .And.Match <CorrectValueRule>(x => x.Tokens.Count == 1) .And.Match <CorrectValueRule>(x => x.Tokens[0].TokenName == "ValueNotEmptyToken"); rules[1].Should().NotBeNull() .And.Match <CorrectValueRule>(x => x.MemberName == "Length") .And.Match <CorrectValueRule>(x => x.Mode == CorrectValueRuleMode.Append) .And.Match <CorrectValueRule>(x => x.Tokens.Count == 1) .And.Match <CorrectValueRule>(x => x.Tokens[0].TokenName == "ValueGreaterThanOrEqualToken"); rules[2].Should().NotBeNull() .And.Match <CorrectValueRule>(x => x.MemberName == "Width") .And.Match <CorrectValueRule>(x => x.Mode == CorrectValueRuleMode.Append) .And.Match <CorrectValueRule>(x => x.Tokens.Count == 1) .And.Match <CorrectValueRule>(x => x.Tokens[0].TokenName == "ValueGreaterThanOrEqualToken"); }
public static void InitializeAndPreheating() { if (!_flag) { var projectManager = new CorrectnessProjectManager(); var objectResolver = new CorrectnessObjectResolver(); var options = CorrectnessOptions.Original(); var provider = new CorrectnessProvider(projectManager, objectResolver, options); // Add the global correct provider into validation-me ValidationRegistrar.ForProvider(provider, CorrectnessVerifiableWall.GLOBAL_CORRECT_PROVIDER_KEY).Build(); // Update flag _flag = true; } }
public void MainRegistrarAccessingTest() { var provider = new ValidationProvider(new FakeProjectManager(), new DefaultVerifiableObjectResolver(), new ValidationOptions()); var registrar1 = ValidationRegistrar.ForProvider(provider); var registrar2 = ValidationRegistrar.Continue(); registrar1.ShouldNotBeNull(); registrar2.ShouldNotBeNull(); var instance1 = registrar1 as InternalValidationRegistrar; var instance2 = registrar2 as InternalValidationRegistrar; instance1.ShouldNotBeNull(); instance2.ShouldNotBeNull(); instance1.Name.ShouldBe(instance2.Name); }
public void VerifyOneShouldBeFailureTest() { var options = new ValidationOptions(); options.AnnotationEnabled = false; options.FailureIfInstanceIsNull = true; options.FailureIfProjectNotMatch = false; options.CustomValidatorEnabled = false; var provider = new ValidationProvider(ValidationProjectManager, VerifiableObjectResolver, options); var handler = ValidationRegistrar.ForProvider(provider, "UTH_VerifyOneShouldBeFailureTest") .ForType <NiceBoat>() .ForMember("Name").NotEmpty() .AndForMember("Length").GreaterThanOrEqual(0) .AndForMember("Width").GreaterThanOrEqual(0) .TempBuild(); handler.VerifyOne(typeof(NiceBoat), "", "Name").IsValid.ShouldBeFalse(); handler.VerifyOne(typeof(NiceBoat), -1000, "Length").IsValid.ShouldBeFalse(); handler.VerifyOne(typeof(NiceBoat), -20, "Width").IsValid.ShouldBeFalse(); handler.VerifyOne(typeof(NiceBoat), DateTimeFactory.Create(2020, 12, 21), "CreateTime").IsValid.ShouldBeTrue(); handler.VerifyOne(typeof(NiceBoat), "nice@@boat.com", "Email").IsValid.ShouldBeTrue(); // Because Annotation and CustomValidation are all disable. }
public void VerifyOneWithPropertySelectorAndShouldBeSuccessTest() { var options = new ValidationOptions(); options.AnnotationEnabled = false; options.FailureIfInstanceIsNull = true; options.FailureIfProjectNotMatch = false; options.CustomValidatorEnabled = false; var provider = new ValidationProvider(ValidationProjectManager, VerifiableObjectResolver, options); var handler = ValidationRegistrar.ForProvider(provider, "UTH_VerifyOneWithPropertySelectorAndShouldBeSuccessTest") .ForType <NiceBoat>() .ForMember("Name").NotEmpty() .AndForMember("Length").GreaterThanOrEqual(0) .AndForMember("Width").GreaterThanOrEqual(0) .TempBuild(); handler.VerifyOne <NiceBoat, string>(x => x.Name, "Nice").IsValid.ShouldBeTrue(); handler.VerifyOne <NiceBoat, long>(x => x.Length, 1000).IsValid.ShouldBeTrue(); handler.VerifyOne <NiceBoat, long>(x => x.Width, 30).IsValid.ShouldBeTrue(); handler.VerifyOne <NiceBoat, DateTime>(x => x.CreateTime, DateTimeFactory.Create(2020, 12, 21)).IsValid.ShouldBeTrue(); handler.VerifyOne <NiceBoat, string>(x => x.Email, "*****@*****.**").IsValid.ShouldBeTrue(); }
public ValidationHandler Build(ValidationOptions options) { var registrar = ValidationRegistrar.Continue(CorrectnessVerifiableWall.GLOBAL_CORRECT_PROVIDER_KEY); return((RegisterHandler?.Invoke(registrar) ?? registrar).TempBuild(options)); }
public void ValidationOneWorkWithFluentValidationAndShouldBeFailureTest() { var options = new ValidationOptions(); options.AnnotationEnabled = false; options.FailureIfInstanceIsNull = true; options.FailureIfProjectNotMatch = false; options.CustomValidatorEnabled = true; var provider = new ValidationProvider(ValidationProjectManager, VerifiableObjectResolver, options); ValidationRegistrar.ForProvider(provider, "UTF_ValidationOneWorkWithFluentValidationAndShouldBeFailureTest") .ForFluentValidator <GanglvToniValidator>() .Build(); var validator = ValidationMe.Use("UTF_ValidationOneWorkWithFluentValidationAndShouldBeFailureTest") .Resolve <GanglvToni>(); var model1 = new GanglvToni() { Name = "", Age = 11 }; var model2 = new GanglvToni() { Name = "11111111111", Age = 11 }; var model3 = new GanglvToni() { Name = "Good", Age = 9 }; var model4 = new GanglvToni() { Name = "", Age = -9 }; validator.VerifyOne(x => x.Name, model1.Name).IsValid.Should().BeFalse(); validator.VerifyOne(model1.Name, "Name").IsValid.Should().BeFalse(); validator.VerifyOne(typeof(GanglvToni), model1.Name, "Name").IsValid.Should().BeFalse(); validator.VerifyOne(x => x.Age, model1.Age).IsValid.Should().BeTrue(); validator.VerifyOne(model1.Age, "Age").IsValid.Should().BeTrue(); validator.VerifyOne(typeof(GanglvToni), model1.Age, "Age").IsValid.Should().BeTrue(); validator.VerifyOne(x => x.Name, model2.Name).IsValid.Should().BeFalse(); validator.VerifyOne(model2.Name, "Name").IsValid.Should().BeFalse(); validator.VerifyOne(typeof(GanglvToni), model2.Name, "Name").IsValid.Should().BeFalse(); validator.VerifyOne(x => x.Age, model2.Age).IsValid.Should().BeTrue(); validator.VerifyOne(model2.Age, "Age").IsValid.Should().BeTrue(); validator.VerifyOne(typeof(GanglvToni), model2.Age, "Age").IsValid.Should().BeTrue(); validator.VerifyOne(x => x.Name, model3.Name).IsValid.Should().BeTrue(); validator.VerifyOne(model3.Name, "Name").IsValid.Should().BeTrue(); validator.VerifyOne(typeof(GanglvToni), model3.Name, "Name").IsValid.Should().BeTrue(); validator.VerifyOne(x => x.Age, model3.Age).IsValid.Should().BeFalse(); validator.VerifyOne(model3.Age, "Age").IsValid.Should().BeFalse(); validator.VerifyOne(typeof(GanglvToni), model3.Age, "Age").IsValid.Should().BeFalse(); validator.VerifyOne(x => x.Name, model4.Name).IsValid.Should().BeFalse(); validator.VerifyOne(model4.Name, "Name").IsValid.Should().BeFalse(); validator.VerifyOne(typeof(GanglvToni), model4.Name, "Name").IsValid.Should().BeFalse(); validator.VerifyOne(x => x.Age, model4.Age).IsValid.Should().BeFalse(); validator.VerifyOne(model4.Age, "Age").IsValid.Should().BeFalse(); validator.VerifyOne(typeof(GanglvToni), model4.Age, "Age").IsValid.Should().BeFalse(); }
public IValidationRegistrar ResolveRegistrar() => ValidationRegistrar.Continue();
public IValidationRegistrar RequiredResolveRegistrar(string providerName) => ValidationProvider.IsDefault(providerName) ? ValidationRegistrar.DefaultRegistrar : ValidationRegistrar.Continue(providerName);