Как проверить дочерние объекты путем реализации IDataErrorInfo в родительском классе

Я разрабатываю приложение WPF с использованием архитектуры MVVM. Я любитель в WPF, так что терпите меня ..

У меня есть два модельных класса. Родительский класс имеет объект другого (дочернего) класса в качестве своего свойства. (я имею в виду вложенные объекты, а не наследуемые объекты)

Например, рассмотрим следующий сценарий.

public class Company
{

   public string CompanyName {get; set;}

   public Employee EmployeeObj {get; set;}
}

public class Employee 
{

   public string FirstName {get; set;}

   public string LastName {get; set;}

}    

Я хочу проверить свойства объекта Employee с помощью блока проверки библиотеки предприятия.

Я смог сделать это, реализовав интерфейс IDataErroInfo в классе сотрудников, как показано ниже

public class Employee :  IDataErrorInfo

{

   [NotNullValidator(MessageTemplate="First Name is mandatory"]
   public string FirstName {get; set;}

   [StringLengthValidator(0,20,MessageTemplate="Invalid")]
   public string LastName {get; set;}

   public string Error
   {
        get
        {
            StringBuilder error = new StringBuilder();

            ValidationResults results = Validation.ValidateFromAttributes<Employee>(this);

            foreach (ValidationResult result in results)
            {
                error.AppendLine(result.Message);
            }

            return error.ToString();
        }

    }

    public string this[string propertyName]
    {
        get
        {
            ValidationResults results = Validation.ValidateFromAttributes<Employee>(this);

            foreach (ValidationResult result in results)
            {
                if (result.Key == propertyName)
                {
                    return result.Message;
                }
            }

            return string.Empty;
        }
    }
}

Я не хочу реализовывать IDataErroInfo для каждой дочерней модели, которую я создаю.

Есть ли способ проверить объект Employee путем реализации IDataErrorInfo в родительском (Company) классе?

А также есть ли триггеры для запуска проверки объектов. Я хотел бы проверять объекты только тогда, когда я хочу, а не все время.

Ответы на вопрос(1)

Ваш ответ на вопрос