gpt4 book ai didi

asp.net-mvc - 如何检查 asp.net mvc 中的模型验证错误?

转载 作者:行者123 更新时间:2023-12-04 10:58:20 26 4
gpt4 key购买 nike

如何从 View 内部检查特定键是否有任何 ModelState 错误(键是模型的字段键)

最佳答案

如果您还没有,请查看 the MVC pattern 上的这篇 wiki 文章.

请记住,您的 View 应该只负责显示数据。因此,您应该尽量减少 View 中的逻辑量。如果可能,请在 Controller 中处理 ModelState 错误(因为 ModelState 错误是模型绑定(bind)尝试失败的结果):

public class HomeController : Controller
{
public ActionResult Index()
{
if (!ModelState.IsValid)
{
return RedirectToAction("wherever");
}

return View();
}
}

如果您必须在 View 中处理 ModelState 错误,您可以这样做:
<% if (ViewData.ModelState.IsValidField("key")) { %>
model state is valid
<% } %>

但请记住,您可以使用 Controller 完成相同的操作,从而从 View 中删除不必要的逻辑。为此,您可以将 ModelState 逻辑放在 Controller 中:
public class HomeController : Controller
{
public ActionResult Index()
{
if (!ModelState.IsValidField("key"))
{
TempData["ErrorMessage"] = "not valid";
}
else
{
TempData["ErrorMessage"] = "valid";
}

return View();
}
}

然后,在您看来,您可以引用 TempData 消息,这减轻了对任何不必要的逻辑制定的看法:
    <%= TempData["ErrorMessage"] %>

关于asp.net-mvc - 如何检查 asp.net mvc 中的模型验证错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3040852/

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