gpt4 book ai didi

asp.net-mvc - 使用 Entity Framework 4 数据注释进行日期范围验证

转载 作者:行者123 更新时间:2023-12-02 17:43:38 27 4
gpt4 key购买 nike

我正在使用 Entity Framework 4 为 ASP.NET MVC3/Razor2 Web 应用程序提供模型。我正在使用 DataAnnotations 来实现验证。我需要将某些日期限制在 SQL Smalldatetime 类型接受的范围内。

我的问题是我无法让 RangeAttribute 对于日期字段正常工作。相关字段的模型元数据定义是:

    [Display(ResourceType = typeof(Resources.Patient), Name = "DateOfBirth_Name")]
[DisplayFormat(DataFormatString = "{0:d}", ApplyFormatInEditMode = true)]
[DataType(DataType.Date)]
[Range(typeof(DateTime), "01/01/1900", "06/06/2079", ErrorMessageResourceType = typeof(Resources.Patient), ErrorMessageResourceName = "DateOfBirth_Range")]
public System.DateTime DateOfBirth { get; set; }

使用此代码,无论我在日期字段中输入什么值,应用程序都会将其视为无效。如果它相关,我也将 JQuery-UI 日期选择器与相关字段一起使用。

有人可以帮忙吗?

最佳答案

您没有指定错误发生的位置,但我的猜测是它是客户端(?)jQuery 验证不能很好地与 RangeAttribute 配合使用。要进行验证,请禁用 jQuery 验证,有效输入应通过(服务器)验证。

要解决这个问题,您必须编写自己的日期范围验证,例如http://blogs.msdn.com/b/stuartleeks/archive/2011/01/25/asp-net-mvc-3-integrating-with-the-jquery-ui-date-picker-and-adding-a-jquery-validate-date-range-validator.aspx

或者,您可以查看诸如 Data Annotations Extensions 之类的软件包。或MVC Foolproof Validation看看它们是否可以用来解决问题。

关于asp.net-mvc - 使用 Entity Framework 4 数据注释进行日期范围验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13183647/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com