3 Stimmen

Verschieben der Modellvalidierung in die Serviceklasse - ASP.NET MVC

Ich möchte in der Lage sein, die Validierung aus meinen Serviceklassen heraus durchzuführen. Ich habe eine Controller-Aktion, die in etwa wie folgt aussieht:

public ActionResult Edit(Post post)
{
    if(!ModelState.IsValid)
       return View();

    _postDataService.SavePost(post);

    return View("Index");
}

Ich mag die Tatsache nicht, dass mein _postDataService.SavePost() ungültige Daten speichern kann, und ich möchte die Modellvalidierung in meine _postDataService.SavePost()-Methode verschieben. Meine Frage ist, was ist der eleganteste Weg, dies zu tun? Und wenn ich meine Modellvalidierung in meine Servicemethode verschiebe, wie gebe ich dann meine Modellfehler an meinen Controller zurück? Und schließlich, wo würde die Modellvalidierung wie die Einzigartigkeit der E-Mail-Adresse hingehen, da sie einen Datenzugriff erfordert? Von allen ähnlichen Fragen, die ich gesehen habe, gibt keiner von ihnen eine gerade nach vorne Weg, dies zu tun.

Ich habe auch überlegt diese Lösung, aber dieser Artikel ist alt und ich habe das Gefühl, dass er nicht mehr aktuell ist.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X