我在MVC信息文件中声明了一个属性
[required(ErrorMessage = "End Date has not being entered")] [DataType(DataType.Date)] [DisplayFormat(DataFormatString = "{0:MM/dd/yyyy}",ApplyFormatInEditMode = true)] [RegularExpression(@"^(0[1-9]|1[012])[/](0[1-9]|[12][0-9]|3[01])[/]\d{4}$",ErrorMessage = "End Date should be in MM/dd/yyyy format")] public DateTime? ExpirationDate { get; set; }
但是当我以正确的格式输入日期时,如2013年5月13日.它仍然显示错误消息
End Date should be in MM/dd/yyyy format
解决方法
您无法使用正则表达式验证日期,请使用DateTime.TryParseExact将字符串转换为DateTime对象.正则表达式总是会错过闰年等细微之处.