gpt4 book ai didi

asp.net-mvc - ModelState.IsValid 还是 Model.IsValid?

转载 作者:行者123 更新时间:2023-12-02 11:06:35 27 4
gpt4 key购买 nike

我正在编写一个 Controller 并为其进行单元测试,当时我遇到了两种方法(我认为同样有效)来做某事。我的所有模型都有一个 IsValid 属性,我可以检查该属性以询问模型是否有效。

在回发到 Controller 操作方法时,如果模型有效,我想保存,否则我想重新显示表单以供用户纠正错误。

我最初的想法是验证模型是否被询问是否有效,但我意识到我也可以检查 ModelState.IsValid。

有人有什么特别的理由来比较其中一个与另一个吗?

最佳答案

我认为将自定义业务验证内置到模型中是一个很好的方法。我处理它的方法是将任何自定义验证错误添加到 ModelState:

if (ModelState.IsValid)
{
if (!model.IsValid)
{
ModelState.AddModelError("The model is not valid");
}
else
{
return RedirectToAction("Index");
}
}

return View(model);

这样您的 View 就可以访问验证错误,无论它们是自定义的还是内置的。

关于asp.net-mvc - ModelState.IsValid 还是 Model.IsValid?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5011132/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com