public void Should_create_multiple_validators()
        {
            validator.RuleFor(x => x.Surname)
            .NotNull()
            .NotEqual("foo");

            validator.Single().Components.Count().ShouldEqual(2);
        }
示例#2
0
        public void Nested_dependent_rules()
        {
            var validator = new TestValidator();

            validator.RuleFor(x => x.Surname).NotNull()
            .DependentRules(() => {
                validator.RuleFor(x => x.Forename).NotNull().DependentRules(() => {
                    validator.RuleFor(x => x.Forename).NotEqual("foo");
                });
            });

            var results = validator.Validate(new Person {
                Surname = "foo"
            });

            results.Errors.Count.ShouldEqual(1);
            results.Errors.Single().PropertyName.ShouldEqual("Forename");
            var rule = (PropertyRule)validator.Single();

            rule.DependentRules.Count.ShouldEqual(1);
            ((PropertyRule)rule.DependentRules[0]).DependentRules.Count.ShouldEqual(1);
        }