2011-02-28 111 views
2

正常工作我生成數據驗證在JavaScript的一個Asp.Net MVC 3應用與在視圖上模型下面的代碼範圍驗證未在MVC3

[DisplayName("Latitude Degrees")] 
[Range(0, 90, ErrorMessage = "Latitude degrees must be between {1} and {2}")] 
public Int32? LatitudeDegrees { get; set; } 

。當它是MVC2這工作得很好,如果我在文本框中輸入一個0-90之外的值,我得到了驗證警告。

因爲我將應用程序移動到MVC 3,只要我將任何值放入texbox,合法或非法,我都會在它旁邊出現驗證錯誤。

我已將EnableClientValidation設置爲true,並且UseUnobtrusiveJavascript處於關閉狀態(web.config中的任何內容或打開它的視圖)。

回答

3

如果您想在Web配置中進行不引人注意的客戶端驗證,請嘗試將ClientValidationEnabledUnobtrusiveJavaScriptEnabled設置爲true。然後確保您已刪除的MicrosoftAjax*客戶端腳本庫的所有痕跡,並已包括jQuery和jquery.validate因爲這就是MVC 3用途:

<script src="@Url.Content("~/Scripts/jquery.validate.js")" type="text/javascript"> </script> 
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.js")" type="text/javascript"></script> 
+0

我需要打開不顯眼的JS,現在一切正常。 – 2011-02-28 15:56:07

2

我coudln't重現您的問題!我正在使用ClientValidationEnabled設置爲true的ASP.NET MVC3,並將UnobtrusiveJavaScriptEnabled設置爲false,並且我嘗試了相同的屬性(實際上將它們複製粘貼),並且所有內容似乎都按預期工作。這個問題可能在別的地方,而不是你在這裏列出的。