我的EditorFor(DateTime)函数有问题.我有一个这样定义的模型:
[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; }
}
Run Code Online (Sandbox Code Playgroud)
问题是我想要一个带时间编辑器的完整日期.但它仅适用于Chrome.在FF/IE中我得到了这个javascript验证错误.如果我设置"10/23/2013 12:00:00 AM"的值,它可以正常工作.但是我如何强制我想要的日期时间格式呢?
我甚至试图实现自定义绑定器,它没有工作,因为这是客户端错误...
我想这个答案可能会解决你的问题
将jQuery.validate.js中的日期验证方法更改为以下内容解决了以下问题:
date: function (value, element) {
$.culture = Globalize.culture("en-GB");
var date = Globalize.parseDate(value, "dd/MM/yyyy", "en-GB");
return this.optional(element) ||
!/Invalid|NaN/.test(new Date(date).toString());
}
Run Code Online (Sandbox Code Playgroud)
根据您的要求修改它们
归档时间: |
|
查看次数: |
6886 次 |
最近记录: |