Rekursive Validierung mit Annotationen und IValidatableObject

9

Ich versuche verschachtelte Objekte (nicht Modelle in den MVC senss) mit Annotationen und etwas benutzerdefiniertem Code zu validieren.

Ich fand den folgenden Beitrag nützlich

Manuelles Verwenden von Datenannotationen und Objektdiagrammen

Wie in einer Antwort vorgeschlagen, habe ich eine zusätzliche Routine in der Containerklasse erstellt, um das verschachtelte Objekt zu validieren. Hier ist mein modifizierter Testcode

%Vor%

Ich habe jedoch Probleme, all die Validierungsfehler zu erhalten, auch wenn ich TryValidateObject mit validiereAllProperties aufruft, das auf true gesetzt ist.

%Vor%

Wenn im Container Fehler auftreten, werden nur diese angezeigt. Nur wenn das Containerobjekt keine Fehler enthält, werden Fehler im verschachtelten Objekt angezeigt. Ich vermute, es hat etwas damit zu tun, dass die Validate-Routine eine vollständige Liste zurückgibt und nicht in der Lage ist, aus dem Container (?)

zu einer (bestehenden) Liste hinzuzufügen

Gibt es irgendwelche Änderungen, die ich an der Routine vornehmen kann, damit alle Fehler angezeigt werden?

    
goorj 17.12.2011, 22:45
quelle

1 Antwort

5

Siehe diese Antwort: Ссылка

Es gibt also einen Fehler in den Attributen Ihrer Klasse, und daher wird die Validate-Methode nicht aufgerufen. Ich schlage vor, CustomValidationAttribute wie folgt zu verwenden:

%Vor%     
surfen 18.12.2011, 04:05
quelle

Tags und Links