在我的某个模型的mvc 4项目中,我有DateTime
属性。在客户端,我使用jquery datepicker
。我希望格式为'dd.mm.yyyy'。我为属性
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:dd.MM.yyyy}")]
[Required(AllowEmptyStrings = false, ErrorMessage = "* Field is required")]
public DateTime DateBuy { get; set; }
在* .js文件中,我将日期格式设置为:
$(".datepicker").datepicker({
changeMonth: true,
changeYear: true,
showOtherMonths: true,
selectOtherMonths: true,
dateFormat: "dd.mm.yy",
buttonImageOnly: true
});
并且我也找到了jquery验证器:
jQuery.validator.addMethod(
'date',
function (value, element, params) {
return value.match(/^\d\d?\.\d\d?\.\d\d\d\d$/);
},
''
);
但是当模型来到行动模型是无效的。错误:"The value '24.02.2013' is not valid for DateBuy."
如果日期为02.24.2013
,则一切正常(服务器预期日期格式为'mm.dd.yyyy')。我尝试在web.config
中改变文化:
<globalization culture="ru-RU" uiCulture="ru-RU" enableClientBasedCulture="true" />
你有什么想法吗?
答案 0 :(得分:0)
您是否在向行动提交价值时使用GET或POST动词? 如果您正在使用GET,则日期时间值应始终采用不变的文化格式。
如果您使用的是POST而不是web.config,则全球化设置应足以接受所需格式的日期字符串。