当前位置: 首页>>代码示例>>C#>>正文


C# TestValidator.RuleFor方法代码示例

本文整理汇总了C#中TestValidator.RuleFor方法的典型用法代码示例。如果您正苦于以下问题:C# TestValidator.RuleFor方法的具体用法?C# TestValidator.RuleFor怎么用?C# TestValidator.RuleFor使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在TestValidator的用法示例。


在下文中一共展示了TestValidator.RuleFor方法的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: Sets_localised_message_via_expression

 public void Sets_localised_message_via_expression()
 {
     var validator = new TestValidator();
     validator.RuleFor(x => x.Surname).NotEmpty().WithLocalizedMessage(() => MyResources.notempty_error);
     var result = validator.Validate(new Person());
     result.Errors.Single().ErrorMessage.ShouldEqual("foo");
 }
开发者ID:Tigraine,项目名称:FluentValidation,代码行数:7,代码来源:LocalisedMessagesTester.cs

示例2: Can_access_expression_in_message

        public void Can_access_expression_in_message()
        {
            var v = new TestValidator();
            v.RuleFor(x => x.Forename).Matches(@"^\w\d$").WithMessage("test {RegularExpression}");

            var result = v.Validate(new Person {Forename = ""});
            result.Errors.Single().ErrorMessage.ShouldEqual(@"test ^\w\d$");
        }
开发者ID:yesmarket,项目名称:FluentValidation,代码行数:8,代码来源:RegularExpressionValidatorTests.cs

示例3: Invokes_dependent_rule_if_parent_rule_passes

		public void Invokes_dependent_rule_if_parent_rule_passes() {
			var validator = new TestValidator();
			validator.RuleFor(x => x.Surname).NotNull()
				.DependentRules(d => {
					d.RuleFor(x => x.Forename).NotNull();
				});

			var results = validator.Validate(new Person {Surname = "foo"});
			results.Errors.Count.ShouldEqual(1);
			results.Errors.Single().PropertyName.ShouldEqual("Forename");
		}
开发者ID:jango2015,项目名称:FluentValidation,代码行数:11,代码来源:RuleDependencyTests.cs

示例4: Throws_exception_with_a_ruleset

        public void Throws_exception_with_a_ruleset() {
            var validator = new TestValidator {
                v => v.RuleFor(x => x.Surname).NotNull()
            };

            const string ruleSetName = "blah";
            validator.RuleSet(ruleSetName, () => {
                validator.RuleFor(x => x.Forename).NotNull();
            });

            typeof(ValidationException).ShouldBeThrownBy(() => validator.ValidateAndThrow(new Person(), ruleSetName));
        }
开发者ID:jango2015,项目名称:FluentValidation,代码行数:12,代码来源:ValidateAndThrowTester.cs

示例5: Dependent_rules_inside_ruleset

		public void Dependent_rules_inside_ruleset() {
			var validator = new TestValidator();
			validator.RuleSet("MyRuleSet", () => {

				validator.RuleFor(x => x.Surname).NotNull()
					.DependentRules(d => {
						d.RuleFor(x => x.Forename).NotNull();
					});
			});

			var results = validator.Validate(new Person { Surname = "foo" }, ruleSet: "MyRuleSet");
			results.Errors.Count.ShouldEqual(1);
			results.Errors.Single().PropertyName.ShouldEqual("Forename");
		}
开发者ID:jango2015,项目名称:FluentValidation,代码行数:14,代码来源:RuleDependencyTests.cs

示例6: Dependent_rules_inside_when

        public void Dependent_rules_inside_when()
        {
            var validator = new TestValidator();
            validator.When(o => o != null, () =>
            {
                validator.RuleFor(o => o.Age).LessThan(1)
                .DependentRules(d =>
                {
                    d.RuleFor(o => o).NotNull();
                });
            }); ;

            var result = validator.Validate((Person)null);
            result.IsValid.ShouldBeTrue();
        }
开发者ID:gordey4doronin,项目名称:FluentValidation,代码行数:15,代码来源:RuleDependencyTests.cs

示例7: Throws_exception_with_a_ruleset_async

        public void Throws_exception_with_a_ruleset_async()
        {
            var validator = new TestValidator {
                v => v.RuleFor(x => x.Surname).NotNull()
            };

            const string ruleSetName = "blah";
            validator.RuleSet(ruleSetName, () => {
                validator.RuleFor(x => x.Forename).NotNull();
            });

            typeof(ValidationException).ShouldBeThrownBy(() => {
                try
                {
                    validator.ValidateAndThrowAsync(new Person(), ruleSetName).Wait();
                }
                catch (AggregateException agrEx)
                {
                    throw agrEx.InnerException;
                }
            });
        }
开发者ID:jango2015,项目名称:FluentValidation,代码行数:22,代码来源:ValidateAndThrowTester.cs

示例8: Setting_global_resource_provider_propogates_to_metadata

        public void Setting_global_resource_provider_propogates_to_metadata()
        {
            ValidatorOptions.ResourceProviderType = typeof(TestMessages);
            var validator = new TestValidator();
            validator.RuleFor(x => x.Forename).NotNull();

            var descriptor = validator.CreateDescriptor();
            var resourceType = descriptor.GetMembersWithValidators().First().First().ErrorMessageSource.ResourceType;

            Assert.Equal(typeof (TestMessages), resourceType);
        }
开发者ID:xelossan,项目名称:FluentValidation,代码行数:11,代码来源:LocalisedMessagesTester.cs

示例9: Not_Setting_global_resource_provider_uses_default_messages_in_metadata

        public void Not_Setting_global_resource_provider_uses_default_messages_in_metadata()
        {
            var validator = new TestValidator();
            validator.RuleFor(x => x.Forename).NotNull();

            var descriptor = validator.CreateDescriptor();
            var resourceType = descriptor.GetMembersWithValidators().First().First().ErrorMessageSource.ResourceType;

            Assert.Equal(typeof(Messages), resourceType);
        }
开发者ID:xelossan,项目名称:FluentValidation,代码行数:10,代码来源:LocalisedMessagesTester.cs

示例10: Can_access_expression_in_message_lambda_regex

		public void Can_access_expression_in_message_lambda_regex()
		{
			var v = new TestValidator();
			v.RuleFor(x => x.Forename).Matches(x => x.AnotherRegex).WithMessage("test {RegularExpression}");

			var result = v.Validate(new Person { Forename = "", AnotherRegex = new System.Text.RegularExpressions.Regex(@"^\w\d$") });
			result.Errors.Single().ErrorMessage.ShouldEqual(@"test ^\w\d$");
		}
开发者ID:jango2015,项目名称:FluentValidation,代码行数:8,代码来源:RegularExpressionValidatorTests.cs

示例11: Does_not_throw_when_valid_and_a_ruleset_async

        public void Does_not_throw_when_valid_and_a_ruleset_async()
        {
            var validator = new TestValidator {
                v => v.RuleFor(x => x.Surname).NotNull()
            };

            const string ruleSetName = "blah";
            validator.RuleSet(ruleSetName, () => {
                validator.RuleFor(x => x.Forename).NotNull();
            });

            var person = new Person
            {
                Forename = "foo",
                Surname = "foo"
            };
            validator.ValidateAndThrowAsync(person, ruleSetName).Wait();
        }
开发者ID:jango2015,项目名称:FluentValidation,代码行数:18,代码来源:ValidateAndThrowTester.cs

示例12: TestAsyncWithDependentRules_AsyncEntry

		public async Task TestAsyncWithDependentRules_AsyncEntry()
		{
			var validator = new TestValidator();
			validator.RuleFor(o => o)
				.MustAsync(async (p, ct) => await Task.FromResult(p != null))
				.DependentRules(d => {
					d.RuleFor(o => o.Address).NotNull();
					d.RuleFor(o => o.Age).MustAsync(async (p, token) => await Task.FromResult(p > 10));
				});

			var result = await validator.ValidateAsync((Person)null);
			Assert.Equal(1, result.Errors.Count);
			Assert.True(result.Errors.Any(x => x.PropertyName == ""));

			result = await validator.ValidateAsync(new Person());
			Assert.Equal(2, result.Errors.Count);
			Assert.True(result.Errors.Count(x => x.PropertyName == "Address") == 1, "Address");
			Assert.True(result.Errors.Count(x => x.PropertyName == "Age") == 1, "Age");
		}
开发者ID:JeremySkinner,项目名称:FluentValidation,代码行数:19,代码来源:RuleBuilderTests.cs

示例13: Setup

 public void Setup()
 {
     validator = new TestValidator();
     validator.RuleFor(x => x.Forename).NotNull();
 }
开发者ID:robashton,项目名称:FluentValidation,代码行数:5,代码来源:ValidatorTesterTester.cs


注:本文中的TestValidator.RuleFor方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。