2012-07-05 75 views
0

在我所有的项目中,我有jQuery日期选择器,它格式化日期dd-MMM-yyyy ,全球用户和DateTime.parse方法都完全理解 - 很遗憾,这似乎并不是数据注释验证的情况!我为我下面的数据注释:日期失败客户端和服务器端验证使用ASP.NET MVC 3数据注释

[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; } 

而我的形式拒绝与错误提交如下:

Date field

有谁知道我怎样才能使它验证,接受并modelbind一这种格式的日期值?

回答

0

,因为我有shown here将使用从请求解析当一回DateTime字段在[DisplayFormat]属性定义的格式你可以写为DateTime类型的自定义模型粘合剂。默认情况下,模型联编程序使用当前线程的CultureInfo设置或您在web.config的<globalization>元素中配置的值。如果将其设置为auto,则ASP.NET将使用客户Accept-Language请求标头调整文化信息。

+0

感谢Darin,问题是包含这些日期字段的表单甚至不会提交,因为血腥*客户端*验证失败。想法? – Jimbo 2012-07-05 12:16:04

+0

谁在执行客户端验证? MS unobtrusive js库不会那样做。看来你正在使用jQuery UI dateicker插件进行一些自定义验证。你能显示你的代码吗? – 2012-07-05 14:58:00

相关问题