0

在我的某些模型中的 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" />

你有什么想法吗?

4

1 回答 1

0

您是否在将值提交给您的操作时使用 GET 或 POST 动词?如果您使用的是 GET,那么日期时间值应该始终采用不变的文化格式。

如果您使用 POST,则 web.config 全球化设置应该足以接受所需格式的日期字符串。

于 2013-04-03T08:41:29.767 回答