c# - 从 ValidationError 获取错误消息

标签 c# asp.net-mvc

如果验证失败 Controller 返回此错误:

if (deviceinstance.StorageId == (int)Storage.Biurko & deviceinstance.MeAsUser == false)
    {
        ModelState.AddModelError("StorageError", "Messsage");
    }

我想将其显示在网页上的工具提示中,所以我尝试了这样的操作:

   <div class="a" title="@Html.ValidationMessage("StorageError").ToString()" data-toggle="tooltip" data-placement="left" id="storage">
        @Html.DropDownList("storageId", null, new { @class = "form-control" })
        <br />
        @Html.ValidationMessage("StorageError")
    </div>

但是当然@Html.ValidationMessage("StorageError")返回<span> ... </span> 有什么办法可以找回这个span值并将其放入 tooltip

最佳答案

通过访问 View 中的ModelState,您可以获得相关的错误消息。

例如

ViewData.ModelState["StorageError"].Errors[0].ErrorMessage

访问错误时,您必须考虑空值。

例如

ViewData.ModelState["StorageError"] != null && ViewData.ModelState["StorageError"].Errors.Count > 0 ? ViewData.ModelState["StorageError"].Errors[0].ErrorMessage : string.Empty

谢谢!

关于c# - 从 ValidationError 获取错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24991129/

相关文章:

c# - 修改 Lambda 表达式

c# - 值总是一样的

C# JSON 转 LIST 扩展方法

c# - 为什么 SignInAsync 是异步的?

c# - 从毫秒转换为 DateTime 格式

c# - LINQ .Any() 和 .Count() 的更快版本

asp.net-mvc - 资源 (RESX) 文件搞砸了

asp.net-mvc - 路由约束不适用于 ASP.NET MVC

c# - 将 QueryString 解析为强类型对象

c# - ASP.Net MVC HttpRequestValidationException-捕获错误并捕获输入?