我希望能夠從我的服務類中執行驗證。我有一個控制器的動作,看起來是這樣的:將模型驗證移動到服務類 - ASP.NET MVC
public ActionResult Edit(Post post)
{
if(!ModelState.IsValid)
return View();
_postDataService.SavePost(post);
return View("Index");
}
我不喜歡的事實,我_postDataService.SavePost()可以保存無效數據,我想在模型驗證移動到我的_postDataService.SavePost( ) 方法。我的問題是什麼是最優雅的方式來做到這一點?如果我將我的模型驗證移動到我的Service方法,那麼如何將模型錯誤返回給我的控制器?最後,模型驗證會在哪裏進行,如電子郵件地址的唯一性,因爲它需要一些數據訪問權限?在我看過的所有類似問題中,他們都沒有提供直接的方法來做到這一點。
我也認爲this解決方案,但這篇文章是舊的,我有一種感覺它不是最新的。
是的,你提到的文章很舊,但其中提出的概念仍然存在 – 2012-01-04 11:31:59