0

"CreatedOn" という名前の dateTime 型の列を一覧表示する MVC ビューがあります。値は次のようにフォーマットされます: ' DD/MM/YYYY HH:MM:SS '、編集リンクをクリックして値を変更すると、同じフォーマット、

編集した値を変更すると、「フィールド CreatedOn は日付でなければなりません」という検証エラーが表示されます。

私の EF モデル クラスは、このフィールドを DateTime 型としてマップします。

私のデータベース照合順序はFrench_CIで、SQL Server テーブルのフィールドは smalldatetime 型です。テーブルを開いてフィールド形式を確認すると、「YYYY-MM-DD HH:MM:SS」のようになります。

デフォルトのアプリケーション カルチャを確認したところ、「fr-FR」が見つかりました。次に、web.config ファイルに次のコードを追加しました。

<system.web>
  <globalization uiCulture="fr-FR" culture="fr-FR" />
</system.web>

しかし、問題はまだ同じままです。

4

1 に答える 1

2

jQuery Validate は文化を理解していません。

日付については、javascript: を呼び出すだけだと思いますnew Date(value)

これは、グローバリゼーション プラグインと少しの JavaScript で修正できます。

Microsoft はここにグローバリゼーション プラグインを作成しました: https://github.com/jquery/globalize

次に、検証メソッドを次のようなものに置き換えます。

$.validator.methods.date = function (value, element) {
  return this.optional(element) || Globalize.parseDate(value);
}

おそらく、数値などの他のメソッドを置き換えたいと思うでしょうjquery.validate.js。例については、の下部を見てください。

于 2013-02-23T18:53:41.957 に答える