【问题标题】:MVc 5 - validation german date with unobtrusiv js - a simple approachMVc 5 - 使用 unobtrusiv js 验证德国日期 - 一种简单的方法
【发布时间】:2017-07-05 11:24:30
【问题描述】:

问题:如何获得在 MVC 中运行的德国日期的不显眼验证?

因为我找不到使用带有 MVC 5 的 globalize 1.x 来验证德语日期的运行示例,所以我需要两天时间才能运行它。

问题在于 js 文件的顺序,获取 cldr-data 并将其放在一起以使其可以重复使用。

在答案中,我将展示我当前的解决方案。

【问题讨论】:

    标签: asp.net-mvc-5 javascript-globalize


    【解决方案1】:

    在这个 zip 文件 (https://www.dropbox.com/sh/75dx6alck7itwia/AABFkcgOQVc1bUXFE_jYfR_da?dl=0) 中,您可以找到所有需要的文件。

    包括

    • 一个简短的 todo.txt(de 和 en)
    • 子目录中的cldr-data (jsons)
    • 自定义 HTML-Helper-class 将所需的 HTML/js-Scripts 写入视图。

    看起来,助手的渲染并不总是有效。因此,如果有问题,请将代码复制到每个(编辑/新建)视图。

    <script src="~/Scripts/jquery.validate.js"></script>
    <script src="~/Scripts/jquery.validate.unobtrusive.js"></script>
    
    <script src="~/Scripts/cldr.js"></script>
    <script src="~/Scripts/cldr/event.js"></script>
    <script src="~/Scripts/cldr/supplemental.js"></script>
    <script src="~/Scripts/cldr/unresolved.js"></script>
    
    <script src="~/Scripts/globalize.js"></script>
    <script src="~/Scripts/globalize/currency.js"></script>
    <script src="~/Scripts/globalize/number.js"></script>
    <script src="~/Scripts/globalize/date.js"></script>
    <script src="~/Scripts/globalize/plural.js"></script>
    <script src="~/Scripts/globalize/relative-time.js"></script>
    <script src="~/Scripts/globalize/unit.js"></script>
    <script src="~/Scripts/jquery.validate.globalize.js"></script>        
    
    <script>
        $(document).ready(function () {
            // Use $.getJSON instead of $.get if your server is not configured to return the
            // right MIME type for .json files.
            $.when(
                $.get("/Scripts/cldr/main/de/ca-gregorian.json"),
                $.get("/Scripts/cldr/main/de/numbers.json"),
                $.get("/Scripts/cldr/supplemental/likelySubtags.json"),
                $.get("/Scripts/cldr/supplemental/timeData.json"),
                $.get("/Scripts/cldr/supplemental/weekData.json")
            ).then(function () {
                // Normalize $.get results, we only need the JSON, not the request statuses.
                return [].slice.apply(arguments, [0]).map(function (result) {
                    return result[0];
                });
            }).then(Globalize.load)
        .then(function () {
            Globalize.locale("de-DE");
        });
        });
    </script>
    

    希望对你有帮助。

    此解决方案基于MVC 5 - can not get globalisation running 的答案。 如果您想使用捆绑包,请参阅MVC 5, globalize, validate german date: How to bundle the js-scripts?

    【讨论】:

      猜你喜欢
      • 2017-12-08
      • 2016-06-15
      • 1970-01-01
      • 2022-10-04
      • 1970-01-01
      • 1970-01-01
      • 2019-07-19
      • 1970-01-01
      • 2018-10-12
      相关资源
      最近更新 更多