代码之家  ›  专栏  ›  技术社区  ›  Vyrotek

如何关闭或替换Asp.net MVC中的默认ModelState错误消息?

  •  9
  • Vyrotek  · 技术社区  · 17 年前

    我的问题是我的网站支持多种语言,所以我需要本地化这个错误。通常我只是自己验证并添加ModelState错误,但在这种情况下,我似乎无法摆脱它。如果为同一文本框添加另一个ModelState错误,则不会显示该错误。

    4 回复  |  直到 17 年前
        1
  •  8
  •   Craig Stuntz    17 年前

    到目前为止,我对你得到的所有答案都非常不同意。他们都没有回答您提出的问题,即如何本地化MVC错误消息。您可能会花费大量精力来解决这个问题的单一实例,如果您没有实际本地化应用程序,那么在其他50种MVC错误消息的情况下仍然会遇到同样的问题。它们是在MVC源代码的Resources文件夹中找到的MvcResources.resx中定义的(或者只需使用Reflector浏览程序集)。特别是,您正在寻找 Common_ValueNotValidForProperty 资源您可以通过提供本地化的附属程序集来本地化这些消息,就像本地化任何.NET应用程序一样。NET应用程序中国际化/本地化的细节不在本答案的范围之内,但是有很多关于这个主题的书籍。在MVC中执行此操作与在任何其他应用程序中执行此操作没有什么不同,只是在大多数情况下,框架的本地化已经可用。MVC仍处于测试阶段,所以,据我所知,目前它只有英语版本。据推测,这将在发布后发生变化。

        2
  •  1
  •   tvanfosson    17 年前

    编辑

        3
  •  0
  •   Vyrotek    17 年前

    我可以打电话 ModelState.Clear();

        4
  •  0
  •   Schotime    17 年前

    您可以使DateTime参数为空。如果未提供任何内容,则不会将错误添加到ModelState。

    public ActionResult Method(Datetime? date)
    {} 
    

    而不是

    public ActionResult Method(Datetime date)
    {}
    
    推荐文章