using System.ComponentModel;
namespace ex_ValidationWithIDataError
{
///
/// On implémente l'interface IDataErrorInfo pour ajouter le comportement de validation
///
public class Person : IDataErrorInfo
{
public string Name { get; set; }
public string Surname { get; set; }
public int? Age { get; set; }
///
/// Méthode qui permet de valider nos propriétés
///
///
///
public string this[string columnName]
{
get
{
switch (columnName)
{
case nameof(Surname):
if (Surname != null && Surname.Length > 5)
{
return "Surname invalid : max 5 characters";
}
break;
case nameof(Age):
if (!Age.HasValue)
{
return "Age is required";
}
break;
}
return string.Empty;
}
}
public string Error { get; }
}
}