2013-04-03 134 views
0

在我的mvc 4項目中,某些模型的DateTime屬性。在客戶端,我使用jquery datepicker。我想要格式爲'dd.mm.yyyy'。我的屬性設置爲屬性不綁定模型的DateTime屬性

[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 
}); 

,也是我ovverided 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

您是否使用GET或POST動詞將值提交給您的操作? 如果您使用GET,那麼日期時間值應始終保持不變的文化格式。

如果您使用POST比web.config全球化設置應該足以接受所需格式的日期字符串。

+0

我使用POST。我在web.config中添加了全球化標記,但它不能解決我的問題 – user571874

+0

您可以分享視圖和控制器代碼嗎?您正在使用<全球化文化=「RU-RU」uiCulture =「RU-RU」enableClientBasedCulture =「true」/> enableClientBasedCulture爲true,使其爲false或將瀏覽器配置爲使用俄羅斯文化 –