Asp.net mvc 在aspnet mvc中验证日期

Asp.net mvc 在aspnet mvc中验证日期,asp.net-mvc,Asp.net Mvc,我有我定义属性的ViewModel;其中一个是DateTime字段,定义如下: [DisplayName("Data")] [DataType(DataType.Date)] [Required(ErrorMessage="Selezionare una data")] [DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:dd/MM/yyyy}" )] p

我有我定义属性的ViewModel;其中一个是DateTime字段,定义如下:

    [DisplayName("Data")]
    [DataType(DataType.Date)]        
    [Required(ErrorMessage="Selezionare una data")]
    [DisplayFormat(ApplyFormatInEditMode = true,  DataFormatString = "{0:dd/MM/yyyy}" )]
    public DateTime? DtNews { get;set; }

当我提交表单时,我总是收到错误消息“值'13/07/2011'对DtNews无效”,因为系统交换天数和月份。。。我需要dd/mm/yyyy格式。

您可以将web.config中的区域性设置为日期格式为
dd/mm/yyyy
的区域性。例如,
it

<globalization culture="it-IT" uiCulture="it-IT"/>

全球化对我不起作用。如果我将第二个变量放入global.asax BeginRequest中,它会对最后两个语句抛出类似“property is read-only”的异常
var dtfi = (DateTimeFormatInfo)Thread.CurrentThread.CurrentCulture.DateTimeFormat.Clone();
dtfi.ShortDatePattern = "dd/MM/yyyy";
dtfi.DateSeparator = "/";
Thread.CurrentThread.CurrentCulture.DateTimeFormat = dtfi;
Thread.CurrentThread.CurrentUICulture.DateTimeFormat = dtfi;