Asp.net mvc 在aspnet mvc中验证日期
我有我定义属性的ViewModel;其中一个是DateTime字段,定义如下: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
[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;