Kendo UI MVC日期选择器本地化

4

Kendo UI文化设置为fr-CA。

_Layout.cshtml

<script src="~/Content/KendoUI/js/kendo.web.min.js"></script>
<script src="~/Content/KendoUI/js/kendo.aspnetmvc.min.js"></script>
<script src="~/Content/KendoUI/js/cultures/kendo.culture.fr-CA.min.js"></script>
<script type="text/javascript">
     $(function() {
        kendo.culture('fr-CA');
    });
</script>

Thread.CurrentThread.CurrentUICulture和Thread.CurrentThread.CurrentCulture被设置为"fr-CA"。

Datepicker格式化为"MMM dd, yyyy":

    @{
            Html.Kendo().DatePickerFor(x => x.DateFrom)
            .Format("MMM dd, yyyy")
            .ParseFormats(new List<string> { "MMM dd, yyyy" })
            .Enable(true)
            .Render();
     }

日期以正确的格式显示,并且日历已本地化,但选择日期时出现错误:“字段 Dater de 必须是日期。”

仅当您选择特定于法语的日期(例如 2013 年 12 月 16 日)时,才会出现错误,对于英语和法语相同的日期(例如 2013 年 11 月 25 日),它正常工作。

我做错了什么?

1个回答

2

使用 globalize.js。这里是链接: https://github.com/jquery/globalize/releases

<script type="text/javascript" src="~/Content/scripts/globalize/globalize.js"></script>
<script type="text/javascript" src="~/Content/scripts/globalize/cultures/globalize.culture.fr-CA.js"></script>

<script type="text/javascript">
    $(function() {
        jQuery.global = Globalize;
        $.global.culture('fr-CA');
        $.validator.focusInvalid = true;
        $.validator.methods.date = function(value) {
            if (value == '' || !isNaN($.global.parseDate(value))) return true;
            return false;
        };
    });
</script>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接