示例#1
0
        public async Task AddToPropertyValidator_WithNamedArgs()
        {
            var message = new Message {
                Subject = "Subject1", Body = "Body1"
            };
            var validator = message.Validator();

            validator.For(_ => _.Subject)
            .Add(v => v.Value == "Subject1"
                    ? v.CreateFailureData("Test message '{Subject}', '{Body}'.",
                                          text => text.ReplacePlaceholderWithValue(
                                              MessageFormatter.CreateTuple("Subject", v.Value),
                                              MessageFormatter.CreateTuple("Body", v.Object.Body)))
                    : null);
            var failureDatas = await validator.Validate();

            Assert.Equal("Subject", failureDatas.Single().GetPropertyName());
            Assert.Equal("Subject", failureDatas.Single().GetPropertyLocalizedName());
            Assert.Equal("Test message 'Subject1', 'Body1'.", failureDatas.Single().ErrorMessage);
        }
        public async Task AddToPropertyValidator_WithNamedArgs()
        {
            var message = new Message {
                Subject = "Subject1", Body = "Body1"
            };
            var validator = message.Validator();

            validator.For(_ => _.Subject)
            .Add(v => v.Value == "Subject1"
                    ? v.CreateErrorInfo(() => Resource1.TestMessage3,
                                        text => text.ReplacePlaceholderWithValue(
                                            MessageFormatter.CreateTuple("Subject", v.Value),
                                            MessageFormatter.CreateTuple("Body", v.Object.Body)))
                    : null);
            var errorInfos = await validator.Validate();

            Assert.Equal("Subject", errorInfos.Single().PropertyName);
            Assert.Equal("Subject", errorInfos.Single().DisplayPropertyName);
            Assert.Equal("TestMessage3", errorInfos.Single().Code);
            Assert.Equal("Test message 'Subject1', 'Body1'.", errorInfos.Single().Message);
        }