gpt4 book ai didi

asp.net-mvc - ModelState.AddModelError - 未显示错误

转载 作者:行者123 更新时间:2023-12-03 23:28:02 25 4
gpt4 key购买 nike

我想在 Controller 中捕获异常后为电子邮件字段设置错误消息:

...
catch (EmailAlreadyExistsException emailAlreadyExistsException)
{
ModelState.AddModelError("Useraccount_Email", "This is an error message");

RegisterViewModel viewModel = new RegisterViewModel
{
Useraccount = useraccount,
InformationMessages = InformationMessageHelper.GetInformationMessages()
};
return PartialView(viewModel);
}
...

现在应该在我的 View 中显示错误消息:
@using (Ajax.BeginForm("Register", new AjaxOptions { HttpMethod = "Post", OnSuccess = "registerAjaxSuccess" }))
{
@Html.ValidationSummary(true)
<div class="ym-grid">
<div class="ym-g33 ym-gl">
<div class="ym-gbox">
@Html.LabelFor(model => model.Useraccount.LastName)
</div>
...
<div class="ym-grid">
<div class="ym-g33 ym-gl">
<div class="ym-gbox">
@Html.LabelFor(model => model.Useraccount.Email)
</div>
</div>
<div class="ym-g33 ym-gl">
<div class="ym-gbox">
@Html.EditorFor(model => model.Useraccount.Email, new { required = "required" })
</div>
</div>
<div class="ym-g33 ym-gr">
<div class="ym-gbox">
@Html.ValidationMessageFor(model => model.Useraccount.Email)
</div>
</div>
</div>
...

但在这种情况下没有显示任何内容。 :(
我做错了什么?

最佳答案

添加模型错误时,处理复杂对象时正确的分隔符是点 .而不是 unsercore _
所以下面的调用应该有效:

ModelState.AddModelError("Useraccount.Email", "This is an error message");

关于asp.net-mvc - ModelState.AddModelError - 未显示错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15504348/

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