public class Person { [Required(ErrorMessage = "Name is required.")] public string Name { get; set; } [Range(18, 60, ErrorMessage = "Age should be between 18 and 60.")] public int Age { get; set; } } var person = new Person { Name = "", Age = 16 }; var context = new ValidationContext(person, null, null); var results = new List(); if (!Validator.TryValidateObject(person, context, results, true)) { foreach (var error in results) { Console.WriteLine(error.ErrorMessage); } }
public class Order { [Required(ErrorMessage = "Order number is required.")] [RegularExpression(@"\d{5}-[A-Z]{2}", ErrorMessage = "Order number must be in the format of 00000-AA.")] public string OrderNumber { get; set; } [Required(ErrorMessage = "Order date is required.")] public DateTime OrderDate { get; set; } } var order = new Order { OrderNumber = "1234-AB", OrderDate = DateTime.MinValue }; var context = new ValidationContext(order, null, null); var results = new ListIn this example, we create an Order class with two properties: OrderNumber and OrderDate. We again use attributes from the System.ComponentModel.DataAnnotations namespace to add validation rules to these properties. Then we create an instance of the Order class with an invalid OrderNumber format and an OrderDate set to its default value of DateTime.MinValue. Finally, we use the Validator.TryValidateObject method to validate the order object against its validation rules. If any errors are found, we output them to the console. Package library: System.ComponentModel.DataAnnotations.(); if (!Validator.TryValidateObject(order, context, results, true)) { foreach (var error in results) { Console.WriteLine(error.ErrorMessage); } }