在int溢出的情况下,"值{0}的本地化无效"

Sha*_*dix 6 asp.net validation localization asp.net-mvc-3

我已经通过指定读取了关于验证错误的本地化的答案DefaultModelBinder.ResourceClassKey,基本上是在int字段中输入字符串值时,或者在datetime字段中输入日期时间.

但是当我输入一个int字段的"111111111111111111111111111111"时,我得到System.OverflowException它看起来像"The value '{0}' is invalid.".

有没有办法以类似于其他MVC验证的方式本地化(将该消息转换为其他语言)验证错误?

Ren*_*ené 4

我有同样的问题,我终于找到了解决方案。是的,该消息可以本地化,幸运的是,当您弄清楚它时,这非常容易。

\n\n

您必须创建一个资源文件并将其放入该App_GlobalResources文件夹中。您可以随意命名该文件,但我通常将其称为 MvcValidationMessages。

\n\n

打开资源文件并创建一个包含名称的字符串InvalidPropertyValue,然后在值字段中写入您想要的任何消息。

\n\n

现在,打开 Global.asax 文件并将以下行添加到方法中Application_Start()

\n\n
System.Web.Mvc.Html.ValidationExtensions.ResourceClassKey = "MvcValidationMessages";  \n
Run Code Online (Sandbox Code Playgroud)\n\n

“MvcValidationMessages”当然应该是您刚刚创建的资源文件的正确名称。

\n\n

还有 vo\xc3\xadla!这里的所有都是它的。现在显示的消息将是您自己的消息,而不是默认消息。

\n