【发布时间】:2012-12-18 11:07:48
【问题描述】:
我的视图模型上有一个int? 类型的属性
/// <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,但它没有显示。似乎还有另一个键需要被覆盖。请指出我在哪里可以找到所有默认键列表。
【问题讨论】:
-
您想在您的
View上显示该消息吗?如果是这样,您可以发布View的代码吗? -
我现在不能,因为我不在 pc 附近,但如果这是问题的话,我在 BeginForm 中有 @Html.ValidationSummary()。
-
你的
View上也有@Html.ValidationMessageFor(model => model.CompanyId)吗? -
不,只有验证摘要
-
没有它,该特定属性的验证消息将不会显示。但是,摘要仍应显示。是这样吗?
标签: asp.net-mvc asp.net-mvc-3 validation asp.net-mvc-4