我使用以下代码在Asp.Net MVC 3应用程序中生成数据验证javascript
[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或视图中没有任何内容将其打开)。
答案 0 :(得分:3)
如果您希望在网络配置中进行不引人注目的客户端验证,请尝试将ClientValidationEnabled
和UnobtrusiveJavaScriptEnabled
设置为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>
答案 1 :(得分:2)
我不能重现你的问题!我正在使用ASP.NET MVC3,将ClientValidationEnabled设置为true,将UnobtrusiveJavaScriptEnabled设置为false,我尝试了相同的属性(实际上是复制粘贴它们),一切似乎都按预期工作。除了你在这里列出的内容之外,问题可能出在其他地方。