Вот простой пример. Предположим, у вас есть объект, подобный следующему
using System.ComponentModel.DataAnnotations;
public class Contact
{
[Required(AllowEmptyStrings = false, ErrorMessage = "First name is required")]
[StringLength(20, MinimumLength = 5, ErrorMessage = "First name must be between 5 and 20 characters")]
public string FirstName { get; set; }
public string LastName { get; set; }
[DataType(DataType.DateTime)]
public DateTime Birthday { get; set; }
}
И предположим, у нас есть метод, который создает экземпляр этого класса и пытается проверить его свойства, как указано ниже
private void DoSomething()
{
Contact contact = new Contact { FirstName = "Armin", LastName = "Zia", Birthday = new DateTime(1988, 04, 20) };
ValidationContext context = new ValidationContext(contact, null, null);
IList<ValidationResult> errors = new List<ValidationResult>();
if (!Validator.TryValidateObject(contact, context, errors,true))
{
foreach (ValidationResult result in errors)
MessageBox.Show(result.ErrorMessage);
}
else
MessageBox.Show("Validated");
}
Пространство имен DataAnnotations не привязано к инфраструктуре MVC, поэтому вы можете использовать его в различных типах приложений. приведенный выше фрагмент кода возвращает значение true, попробуйте обновить значения свойств, чтобы получить ошибки проверки.
И обязательно проверьте ссылку на MSDN: Пространство имен аннотаций