2013-11-15 89 views
0

我有一個網格popupeditform。我已經對綁定模型應用了驗證規則。在測試中,我發現除了用戶指定的驗證之外,一些框架生成的錯誤也出現了。覆蓋.net mvc框架驗證?

我如何可以覆蓋這些消息

如:

這是我給的驗證

[Range(0, 100, ErrorMessage = "Ratio should be between 0 and 100")] 
[Required(ErrorMessage = "Ratio is required")] 
public double Ratio {get; set; } 

在運行時我給值「2147483648」,這是僅高於最大值。而且我得到的錯誤是「Int32的值對於太大或太小」。如果我給出的值在允許的範圍內,比如2147483647這是int32的邊際值,那麼我的驗證規則就會被應用。

所以我的含義是,控件首先來到框架並首先顯示框架驗證消息。

以任何方式我可以重寫相同的?

+0

使用具有'double'的'RangeAttribute'構造函數的重載會稍微改善這一方面,但是您仍然必須處理超出範圍的數字來處理雙精度... –

+0

您提到了範圍驗證並且需要。如果驗證由於任何其他原因而失敗,它將生成與錯誤相關的消息,而不是您的轉義驗證消息。 – Sakthivel

+0

你確定它不是一個顯示爲'ErrorMessage'的'Exception'消息嗎? –

回答

0

您提到了範圍驗證和必需的驗證。如果驗證因任何其他原因而失敗,它將生成與錯誤相關的消息,而不是您的轉義驗證消息。

您應該限制輸入的最大長度。如果它的雙倍設置最大長度相應和其他類似。所以你的驗證不會有錯誤。

+0

你的意思是我需要設置允許的最大位數。問題是;類似比例我有一個價格領域。我怎麼可以在這裏限制數字。或者有沒有關於此的任何規範 –

+0

在驗證時,您應該檢查用戶輸入的內容或限制用戶只輸入特定範圍的值。這是我的想法。 – Sakthivel