MVc 5 - 使用 unobtrusiv js 验证德国日期 - 一种简单的方法
MVc 5 - validation german date with unobtrusiv js - a simple approach
问题:如何在 MVC 中对德国日期 运行 进行不显眼的验证?
因为我找不到 运行 使用全球化 1.x 和 MVC 5 来验证德国日期的示例,所以我需要两天时间才能得到它 运行。
问题是 js 文件的顺序、获取 cldr 数据并将它们以可以重复使用的方式放在一起。
在回答中我会展示我目前的解决方案。
在此 zip 文件 (https://www.dropbox.com/sh/75dx6alck7itwia/AABFkcgOQVc1bUXFE_jYfR_da?dl=0) 中,您可以找到所需的所有文件。
它包括
- 一个简短的todo.txt(德语和英语)
- 子目录中的 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 中对德国日期 运行 进行不显眼的验证?
因为我找不到 运行 使用全球化 1.x 和 MVC 5 来验证德国日期的示例,所以我需要两天时间才能得到它 运行。
问题是 js 文件的顺序、获取 cldr 数据并将它们以可以重复使用的方式放在一起。
在回答中我会展示我目前的解决方案。
在此 zip 文件 (https://www.dropbox.com/sh/75dx6alck7itwia/AABFkcgOQVc1bUXFE_jYfR_da?dl=0) 中,您可以找到所需的所有文件。
它包括
- 一个简短的todo.txt(德语和英语)
- 子目录中的 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 的答案。
如果您想使用捆绑包,请参阅