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.