Verwenden von IDataErrorInfo mit verschachtelten Objekten

Ich verwende MVVM und möchte IDataErrorInfo zum Überprüfen meiner Ansicht verwenden.

Meine aktuelle Implementierung umfasst verschachtelte Objekte und verschiedene ViewModels. z.B. Geschäftseinheit 'Kunde' enthält Geschäftseinheit 'Adresse'. Ich greife in meiner Ansicht direkt auf die Adresse zu, z. B. "Customer.Address". Um Änderungen an der Adresse zu validieren, müsste ich IDataErrorInfo in Address implementieren.

Ich verwende Customer oder Address in verschiedenen Views / ViewModels. Die Verwendung in verschiedenen Views / ViewModels führt zu unterschiedlichem Validierungsverhalten. Die Implementierung der Validierung in der Entität selbst ist daher unzureichend.

Das Anzeigen der Eigenschaften, die ich direkt im ViewModel ändern möchte (das Erstellen neuer Eigenschaften, mit denen die Entität direkt festgelegt / abgerufen wird), scheint das ViewModel zu starr zu machen. und ziemlich zu groß.

Ich kann nicht von Basisklassen erben, da einige Geschäftsentitäten bereits von anderen Objekten abgeleitet sind (eine Tatsache, die ich nicht ändern kann). Die einzige Option, die ich derzeit sehe, ist das Hinzufügen einer Schnittstelle zum ViewModel zu den Geschäftsentitäten und das Weiterleiten dieser [] Aufrufe in den Geschäftsentitäten an diese ViewModel-Schnittstelle.

Gibt es eine bewährte Methode zum Überprüfen dieser verschachtelten Objekte im ViewModel?

BEARBEITEN: Ein weiterer Grund für die Validierung Ich sehe die Validierung in den Business Objects nicht als brauchbare Idee, da ich in meinem ViewModel verschiedene Business Objects benötige, um die View und die Dateneingabe zu validieren.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage