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); }
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); }