MVC 4验证整数溢出

时间:2012-12-18 11:07:48

标签: asp.net-mvc asp.net-mvc-3 validation asp.net-mvc-4

我在int?

类型的viewmodel上有一个属性
/// <summary>
/// Represents A company Id 
/// </summary>
[Range(1, 999999999, ErrorMessage="Error"])          
public int? CompanyId{ get; set; }

从文本框我输入一个溢出int32 maxValue的大数字,然后我想 抛出内部验证异常,但消息不会出现。

我通过调用:

覆盖global.asax中的默认消息
DefaultModelBinder.ResourceClassKey = "GlobalResources";

您知道我应该输入什么密钥来覆盖资源,以便显示消息吗? Int32溢出是否有任何特定消息?

我已覆盖PropertyValueInvalid,但它没有显示。似乎还有另一个需要被覆盖的键。请指出我在哪里可以找到所有默认密钥列表。

1 个答案:

答案 0 :(得分:1)

您需要将@Html.ValidationMessageFor(model => model.CompanyId)添加到视图中,以便验证消息实际显示。否则,您只会在文本框中看到red边框,如上所述。