да, они возможны.
Создание очень простого пользовательского атрибута;
public class IsApplicantOldEnoughAttribute : ValidationAttribute
{
public override bool IsValid(object value)
{
if (value == null) return false;
DateTime enteredDate;
try
{
enteredDate = (DateTime)value;
}
catch
{
return false;
}
if ((DateTime.Today.Year - enteredDate.Year) >= 14)
return true;
else
return false;
}
}
Чтение из файла конфигурации аналогично любому коду, считываемому из файла конфигурации.
Не знаю, что вы подразумеваете под самопроверкой.Не могли бы вы заполнить меня, и я постараюсь привести пример.