我想显示一个自定义的错误消息,就像是需要的情况下,regex等,但主键违规。
进行检查,以便永远不能插入主键。我还能放些什么?
我不想使用Ajax或ViewBag/ViewState
,否则我知道怎么做。我想在表单发布时显示错误“此代码已存在”。
[HttpPost]
[ValidateAntiForgeryToken]
public async Task<IActionResult> Create([Bind("Code,Libelle")] Marque marque)
{
if (ModelState.IsValid)
{
var codeExists = _context.Marque.Where(s => s.Code == marque.Code)
.FirstOrDefault()
.Code == marque.Code ? "yes" : "no";
if (codeExists == "no")
{
_context.Add(marque);
await _context.SaveChangesAsync();
return RedirectToAction(nameof(Index));
}
else
{
}
}
return View(marque);
}
3条答案
按热度按时间fxnxkyjh1#
你可以给对象添加一个模型错误,如下所示:
jhdbpxl92#
我假设您有一个web应用程序而不是web API -因为这在您的代码中没有指定。
在Asp.net core中,您可以配置错误处理中间件:
然后您可以使用如下所示的Error控制器,它返回基于异常类型的视图。
希望这有帮助!
提示-即使有Web API,也可以选择将API中的业务错误代码返回给UI,UI可以根据这些代码显示相应的错误信息。
参考:https://learn.microsoft.com/en-us/aspnet/core/fundamentals/error-handling?view=aspnetcore-3.0
ctrmrzij3#
谢谢Guilherme。
下面是工作的代码。