当我遇到两种方法(我认为同样有效)来做某事时,我正在编写一个控制器并为其进行单元测试。我的所有模型都有一个 IsValid 属性,我可以检查该属性以询问模型是否有效。
在回发到控制器操作方法时,如果模型有效,我想保存,否则我想重新显示表单以供用户纠正错误。
我最初的想法是验证模型是否被询问是否有效,但我意识到我也可以检查 ModelState.IsValid。
有人有什么特别的理由来比较其中一种与另一种吗?
我认为将自定义业务验证内置到模型中是一个很好的方法。我处理它的方法是将任何自定义验证错误添加到 ModelState 中:
if (ModelState.IsValid)
{
if (!model.IsValid)
{
ModelState.AddModelError("The model is not valid");
}
else
{
return RedirectToAction("Index");
}
}
return View(model);
这样,您的视图就可以访问验证错误,无论它们是自定义的还是内置的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)