コード例 #1
0
        public void ValidateObject_ValidatableComplexProperty()
        {
            var model = new ModelWithValidatableComplexProperty();

            var editContext = Validate(model);
            var messages    = editContext.GetValidationMessages(() => model.Property1);

            Assert.Single(messages);

            messages = editContext.GetValidationMessages(() => model.Property2);
            Assert.Empty(messages);

            messages = editContext.GetValidationMessages(() => model.Property2.Name);
            Assert.Single(messages);

            Assert.Equal(2, editContext.GetValidationMessages().Count());
        }
コード例 #2
0
        public void ValidateObject_ValidatableComplexProperty_ValidatesIValidatableProperty()
        {
            var model = new ModelWithValidatableComplexProperty
            {
                Property2 = new TestValidatableObject {
                    Name = "test"
                },
            };

            var editContext = Validate(model);
            var messages    = editContext.GetValidationMessages(() => model.Property1);

            Assert.Single(messages);

            messages = editContext.GetValidationMessages(new FieldIdentifier(model.Property2, string.Empty));
            Assert.Single(messages);

            messages = editContext.GetValidationMessages(() => model.Property2.Name);
            Assert.Empty(messages);

            Assert.Equal(2, editContext.GetValidationMessages().Count());
        }