2011-04-26 118 views
1

根據驗證發生的位置,我得到了相同錯誤的不同錯誤消息。踢球者是服務器生成這兩個消息,所以它不是jQuery相關的。MVC3客戶端服務器驗證消息不匹配

使用下面的模型:

public class MyModel 
{ 
    public int MyNumber { get; set; } 
} 

隨着客戶端驗證和無效值的錯誤信息是:

字段mynumber的必須是一個數字。

隨着服務器驗證錯誤信息是:

的值 'x' 爲無效mynumber的。

隨着客戶端上禁用了javascript服務器實際上產生兩個消息,但只顯示一個服務器:

<input class="input-validation-error text-box single-line" data-val="true" data-val-number="The field MyNumber must be a number." data-val-required="The MyNumber field is required." id="MyNumber" name="MyNumber" type="text" value="x" /> 
<span class="field-validation-error" data-valmsg-for="MyNumber" data-valmsg-replace="true">The value &#39;x&#39; is not valid for MyNumber.</span> 

我的問題是:

  1. 爲什麼他們有什麼不同?
  2. 我該如何改變它們?

編輯:發現部分解釋和黑客的位置:http://forums.asp.net/p/1512140/3608427.aspx

+0

你找到解決這個問題了嗎? – nabeelfarid 2011-06-03 11:27:10

回答

0

我不知道爲什麼他們是不同的。但是要自定義客戶端和服務器端驗證的錯誤消息,您可以使用數據註釋。 ASP.NET上的數據註解有a tutorial

+0

你建議我使用什麼屬性?這些是類型轉換錯誤。有一個DataType屬性,但它不適合整數!我嘗試使用RegularExpression屬性(矯枉過正),但它不會更改服務器消息。 – batkuip 2011-04-26 23:37:46