在前端asp.net mvc上显示错误消息

时间:2018-01-26 08:27:34

标签: html asp.net .net asp.net-mvc

当我从后端发送邮件时,如何在div <div asp-validation-summary="All" class="text-danger"></div>上显示邮件?

[HttpPost]
        public IActionResult Signup(Signup signup)
        {
                var result = DBGetCls.GetList("SELECT * FROM Usertable WHERE Email = '{0}' ", signup.Email);
                if (result.Count > 0)
                {
                    object notFound = new { message = "Email has been used!" };
                    return BadRequest(notFound);
                }

所以我的表格看起来像这样:

<div id="signup">
    <form asp-action="Signup">

        <div asp-validation-summary="All" class="text-danger"></div>

        <div class="field-wrap">
            <label asp-for="FullName" class="control-label active highlight">Name :</label>
            <input asp-for="FullName" class="form-control" />
        </div>
         .
         .

1 个答案:

答案 0 :(得分:0)

在前端MVC控制器中,您可以向模型状态添加错误。这些将在验证摘要中呈现。因此,当后端以BadRequest回答时,请手动添加错误。

ModelState.AddModelError("PropertyNameInViewModelToBeHighlighted", 
    "Error message to be shown in validation summary");

一些团队还构建自定义基础结构来包装后端调用,捕获任何错误,提取错误消息,并自动将其添加到ModelState。

另见What is the ModelState?