コード例 #1
0
        public void ClassValidator_dynamic_oneerror()
        {
            dynamic row = new ExpandoObject();

            row.Key           = "mykey";
            row.DateTimeValue = null;

            ClassDynamicValidator validator = ClassDynamicValidator
                                              .Init()
                                              .For(x => x.Key, "Key", p => p.IsNotNull())
                                              .For(x => x.DateTimeValue, "DateTimeValue", p => p.IsNotNull()) // error
                                              .Validate(row);

            Assert.Single(validator.ValidationErrors);
        }
コード例 #2
0
        public void ClassValidator_dynamic_sample()
        {
            dynamic row = new ExpandoObject();

            row.Key           = "mykey";
            row.DateTimeValue = "20181201";
            row.DecimalValue  = "123.45";

            ClassDynamicValidator validator = ClassDynamicValidator
                                              .Init()
                                              .For(x => x.Key, "Key", p => p.IsNotNull().HasLength(5, 10))
                                              .For(x => x.DateTimeValue, "DateTimeValue", p => p.TryParseDateTime("yyyyMMdd"))
                                              .For(x => x.DecimalValue, "DecimalValue", p => p.IsNotNull().TryParseDecimal(CultureInfo.InvariantCulture))
                                              .Validate(row);

            Assert.Empty(validator.ValidationErrors);
        }