Frage

ich eine Klassenbibliothek, die mein Objektmodell enthält. Ich würde jedes Objekt gerne Daten Anmerkungen zu Ort Validierungsregeln in meinem Modell haben, so dass die Validierung über 2 Anwendungen gemeinsam genutzt werden. Eine davon ist ein MVC 2-App und das andere ist eine Windows Forms-Anwendung.

Ich muss in der Lage, das Objektmodell von Code manuell zu validieren die Daten Annotationen verwenden, aber ohne xVal zu verwenden. Wenn ich die Objektmodell-Bibliothek in das 4.0-Client-Profil wechseln kann es nicht mehr bauen mit den xVal Komponenten. Die Domain-Objekt-Klassenbibliothek wird mit der Windows-Anwendung verteilt werden, so dass ich das 4.0 Client-Profil nutzen wollte.

Irgendwelche Ideen?

War es hilfreich?

Lösung

Nun, werde ich eine Antwort mit einem wenig mehr Substanz liefern, falls es sonst von Hilfe zu jemandem sein könnte.

Für unsere Validierung verwenden wir eine einfache Validate-Methode wie folgt aus:

public void Validate(T entity)
{
    var context = new ValidationContext(entity, null, null);
    var results = new List<ValidationResult>();

    bool valid = Validator.TryValidateObject(entity, context, results, true);

    if (!valid)
        ; // do something fancy with the results here, perhaps
}

Sie können auch die TryValidateObject überspringen und direkt zu ValidateObject gehen, wenn Sie nicht etwas Besonderes wollen mit den Ergebnissen zu tun.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top