在我的所有项目中,我有jQuery日期选择器格式化日期dd-MMM-yyyy
,全球用户和DateTime.parse
方法都完全理解 - 遗憾的是,这似乎不是数据注释验证的情况!我的数据注释如下:
[Display(Name = "Date of Birth")]
[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:d-MMM-yyyy}", ApplyFormatInEditMode = true)]
[Required(ErrorMessage = "You must enter a date of birth.")]
public DateTime dob { get; set; }
我的表单拒绝提交错误,如下所示:
是否有人知道如何以此格式验证,接受和模型化日期值?
答案 0 :(得分:0)
您可以为DateTime
类型编写自定义模型绑定器,因为我shown here
在从请求中解析DateTime字段时将使用[DisplayFormat]
属性中定义的格式。默认情况下,模型绑定器使用当前线程的CultureInfo设置或您在web.config的<globalization>
元素中配置的值。如果将其设置为auto
,则ASP.NET将使用客户端Accept-Language
请求标头来调整文化信息。