【问题标题】:ModelState.Errors consist of empty stringsModelState.Errors 由空字符串组成
【发布时间】:2014-07-23 11:46:01
【问题描述】:

我正在编写一个 MVC 应用程序,其中的表单具有验证功能。

当我查询错误时,像这样:

foreach (ModelState modelState in ViewData.ModelState.Values)
{
    foreach (ModelError error in modelState.Errors)
    {
        Debug.WriteLine(error.ErrorMessage);
    }
}

error.ErrorMessage 中返回的错误消息是一个空字符串 ("")。我可以轻松编写一些代码来验证错误消息是否都是像这样的空字符串,但这是一个 hack!

有人知道为什么会这样吗?上下文是一个带有一些下拉菜单的表单。如果我从下拉输入之一中选择一个项目,则会返回错误,但如果这些下拉菜单保持其默认状态,则验证正常。

非常感谢,S

【问题讨论】:

  • 您如何设置验证?它是模型中属性的属性吗?
  • 检查成员属性并验证是否存在设置了 ErrorMessage 属性的验证属性。
  • 向我们展示您提供ErrorMessage的模型

标签: c# asp.net-mvc validation


【解决方案1】:

如果要验证模型,必须使用 dataannotation 属性,例如 [Required],你使用这些注解吗? Link

那么您必须确保您的属性 ErrorMessage 已设置,或者 - 如果您使用 resx 文件等外部资源 - 您的 ErrorMessageResourceTypeErrorMessageResourceName @ 987654322@

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-07-03
    • 1970-01-01
    • 2013-04-21
    • 1970-01-01
    • 1970-01-01
    • 2017-12-09
    • 1970-01-01
    相关资源
    最近更新 更多