asp.net-mvc-3 - 范围验证在 MVC3 中无法正常工作

标签 asp.net-mvc-3 data-annotations

我使用以下代码在 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; }

在 View 模型上。当它是 MVC2 时,这工作得很好,如果我在文本框中输入 0-90 之外的值,我会收到验证警告。

自从我将应用程序移至 MVC 3 以来,每当我将任何值放入文本框中(无论合法还是非法)时,我都会在其旁边出现验证错误。

我已将 EnableClientValidation 设置为 true,并且 UseUnobtrusiveJavascript 已关闭(web.config 或 View 中没有任何内容可将其打开)。

最佳答案

如果您希望在 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>

关于asp.net-mvc-3 - 范围验证在 MVC3 中无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5143831/

相关文章:

asp.net-mvc-3 - 在 ASP.NET MVC 3 中跨区域共享 View 的最佳方式

c# - 使用 ASP.NET MVC3 处理注册向导的正确方法是什么?

asp.net-mvc - 子对象上的 ASP.NET MVC 2 模型验证 (DataAnnotations)

c# - 如何使用范围数据注释属性指定最小但没有最大小数?

asp.net - 上传 - MVC3 : HTTP 302 Redirect Error (due to asp. 网络身份验证)

asp.net-mvc - filters.Add 与 FilterProviders.Providers.Add

asp.net-mvc - 如何在 RedirectToAction 中传递参数?

c# - 如何使用 ASP.Net core ModelMetadata 属性

c# - 如何使用类验证属性在属性上动态设置验证消息

asp.net-mvc - 数据注释隐藏属性/字段