我有EditorFor(DateTime)函数的问题。我有这样一个定义如下:ASP.Net MVC4:字段xxx必须是日期
[MetadataType(typeof(MessageSearchDTO_Validation))]
public class MessageSearchDTO
{
public DateTime StartDate { get; set; }
public DateTime EndDate { get; set; }
}
public class MessageSearchDTO_Validation
{
[DisplayName("Od")]
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:yyyy-MM-dd HH:mm}")]
[Required(ErrorMessage = ErrorMessages.FieldRequired)]
public DateTime StartDate { get; set; }
[DisplayName("Do")]
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:yyyy-MM-dd HH:mm}")]
[CustomValidation(typeof(MessageSearchDTO_Validation), "EndDate_CustomValidator")]
[Required(ErrorMessage = ErrorMessages.FieldRequired)]
public DateTime EndDate { get; set; }
}
问题是,我想要一个完整的日期与时间编辑器。但它只适用于Chrome。在FF/IE中我得到这个JavaScript验证错误。 如果我将“10/23/2013 12:00:00 AM”的值设置为正常。但我如何强制我想要的日期时间格式?
我甚至试图实现自定义的粘合剂,它没有工作,因为这是客户端错误...
发送节拍?问题是在将数据发送回服务器之前关于客户端验证。 –
我的意思是如果你使用蜱传输日期,你可以处理它使用任何浏览器。据我所知,你发送的日期像“10/23/2013 12:00:00 AM”这样的字符串,这可能不是浏览器之间的通用格式,但是蜱是通用的。谢谢。 – mecek