title: Using IDataErrorInfo with Nested Objects
body: <p>I am using MVVM and I want to use IDataErrorInfo to validate my View.</p>
  
  <p>My current implementation includes Nested objects and different ViewModels. e.g. Business Entity 'Customer' contains Business Entity 'Address'. I am accessing Address directly in my view, like "Customer.Address". To validate changes in Address I would have to implement IDataErrorInfo in Address.</p>
  
  <p>I use Customer or Address in different Views/ViewModels. Usage in different Views/ViewModels lead to different Validation Behavior. Thus, implementing the validation in the Entity itself is insufficient.</p>
  
  <p>Exposing the properties I want to change directly in the ViewModel (creating new Properties that directly set/get the entity) seems to make the ViewModel way too rigid. and quite too large.</p>
  
  <p>I cannot inherit from Base Classes, as some Business Entities already derive from other objects (A fact I cannot change).
  The only option I see at the moment is adding an interface to the ViewModel to the Business Entities, and forwarding this[] calls in the Business Entities to that ViewModel Interface. </p>
  
  <p>Is there a best practice on how to validate these nested objects in the ViewModel?</p>
  
  <p><strong>EDIT:</strong> One more reason Validation I don't see Validation in the Business Objects as a usable idea is that I need different Business Objects in my ViewModel to validate the View and the data entry.</p>