2011-02-28 108 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,并且我尝试了相同的属性(实际上将它们复制粘贴),并且所有内容似乎都按预期工作。这个问题可能在别的地方,而不是你在这里列出的。