我希望能够从我的服务类中执行验证。我有一个控制器的动作,看起来是这样的:将模型验证移动到服务类 - 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