MVC中日期时间和日期字段的范围限制
本文关键字:日期 范围 时间 MVC 字段 | 更新日期: 2023-09-27 18:17:20
我使用System.Data.SqlTypes.SqlDateTime.MinValue
和System.Data.SqlTypes.SqlDateTime.MaxValue
使用以下代码行来定义日期时间和日期字段的范围。
[Range(typeof(DateTime), "1/1/1753 12:00:00 AM", "12/31/9999 11:59:59 PM", ErrorMessage="''D2'' must be within 1/1/1753 12:00:00 AM and 12/31/9999 11:59:59 PM.")]
public System.Nullable<System.DateTime> D2{get;set;}//;
但是当我在文本框中输入日期11/08/2016 12:00 am
时,它会抛出错误消息
'D2'必须在1/1/1753 12:00 AM和12/31/9999 11:59 PM之间。
所以请让我知道上面的代码有什么问题。
您可以为您的类使用IValidatableObject
接口并检查日期验证,如下所示
public class Sample : IValidatableObject
{
public DateTime Date { set; get; }
public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
{
if (Date > new DateTime(2012, 12, 12))
{
yield return new ValidationResult("you cant enter it");
}
}
}