0

我想正确验证日期。如果我输入日期为 21-2-198 而不是 21-2-1988 。日期在 Mvc3 中没有正确验证。我为此使用了正则表达式,但没有用。有没有验证日期的其他方法,包括 MVC 模型中的年份。以下是我在模型中编写的代码

[Required(ErrorMessage = "Activation date is required")]
        [Display(Name = "Activation date")]
        [RegularExpression(@"/^(0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])[- /.](19|20)\d\d+$/", ErrorMessage = "Enter proper date")]
        public DateTime? ActivationDate { get; set; }
4

2 回答 2

0

您应该能够通过使用[DataType(DataType.Date)]属性而不是正则表达式来获得验证。请注意,此注释与区域设置无关...即21-2-1988,并且2-21-1998都将验证。

于 2013-09-05T10:57:42.193 回答
0

我将日期输入为21-2-198而不是 21-2-1988 。该日期在 Mvc3 中未正确验证。

在我看来,您需要一个 CustomValidator 来防止用户输入超出特定范围的日期。

ASP.NET MVC 3 Custom Validation using Data Annotations为此提供了一个验证器。

于 2013-09-05T11:13:47.603 回答