【问题标题】:display error message on front-end asp.net mvc在前端 asp.net mvc 上显示错误消息
【发布时间】:2018-01-26 08:27:34
【问题描述】:

当我从后端发送消息时,如何在 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>
         .
         .

【问题讨论】:

  • 看看 SignalR。

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


【解决方案1】:

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

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

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

另见What is the ModelState?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-22
    • 1970-01-01
    • 2017-09-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多