using System.ComponentModel.DataAnnotations;
public static void Main()
var objectToValidate = new Foo() { Bar = "123456789012345678901121212" };
var properties = objectToValidate.GetType().GetProperties();
foreach (var property in properties)
var attributes = property.GetCustomAttributes<ValidationAttribute>();
foreach (var attribute in attributes)
bool isValid = attribute.IsValid(property.GetValue(objectToValidate));
Console.WriteLine("{0} is invalid", property.Name);
public string Bar { get; set; }