0

私は以下を使用しようとしています:

<script src="/Scripts/globalize.js" type="text/javascript"></script>
@Html.GlobalizationScript("~/Scripts/cultures/","~/Scripts/cultures/")

そのため、目立たないクライアント側の検証はクライアント カルチャで機能しますが、データがサーバーにポストされると、期待どおりにサーバー カルチャに「変換」されません。それでもサーバー側で機能しない場合、クライアント側の検証が機能するポイントは何ですか? 何か不足していますか?これを行う簡単な方法はありますか?google chrome html 5 日付ピッカーと同様に、ローカル日付を使用しますが、それをサーバー (または不変) カルチャに変換します。

4

1 に答える 1

0

基本的に、サーバーとクライアントの間でカルチャを同期する必要があります。

まず、サーバー カルチャをクライアントに渡す必要があります。これをビュー/レイアウトの HTML lang 属性に入れることができます。

<html lang="@System.Globalization.CultureInfo.CurrentUICulture.Name">

別のオプションは、この情報をメタヘッダーに入れることです

この情報を取得したら、次のようにして Globalize.js でクライアント カルチャを初期化する必要があります。

$(document).ready(function () {

    // Set Globalize to the current culture driven by the html lang property
    var currentCulture = $("html").prop("lang");
    if (currentCulture) {
        Globalize.culture(currentCulture);
    }
});

そして、正しい globalize.culture js ファイルを含めることを忘れないでください。

~/scripts/globalize/globalize.culture.xx-XX.js

詳細については、John Reilly からのこの投稿で、非常によく説明されています。

于 2014-05-22T14:19:19.687 に答える