2012-12-18 98 views
3

我有我喜歡的類型int?MVC 4驗證整數溢出

/// <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但它沒有顯示。看起來似乎還有另一個需要重寫的關鍵。請指點我在哪裏可以找到默認鍵的所有列表。

+0

你想在'View'上顯示消息嗎?如果是這樣,你可以發佈'View'的代碼嗎? – rae1

+0

我現在不能靠近pc了,但是如果這是個問題,我在BeginForm裏面有@ Html.ValidationSummary()。 – StringBuilder

+0

你在'View'上還有'@ Html.ValidationMessageFor(model => model.CompanyId)'嗎? – rae1

回答

1

您需要將@Html.ValidationMessageFor(model => model.CompanyId)添加到您的視圖中,以便驗證消息實際顯示。否則,您只會在文本框中獲得一個red邊框,如您所述。