0

私は現在、Asp.net MVC3Webサイトで忙しいです。文化を設定するドロップダウンがあります(nl-BE // en-US)

nl-BEカルチャを使用して「dd/mm / yyyy」形式の日付を解析しようとすると、サーバーではすべてが機能しますが、クライアントではブラウザ(chrome)が「dd / mm/yyyy」という形式で日付を表示し続けます"は正しい日付形式ではありません。(クライアント側の検証)

jqueryの「globalize.js」ですでに試しましたが、成功しませんでした。

ブラウザをだますことができる唯一の方法は、自分のバリデーターを手動で追加することですjQuery.validator.addMethod('date'、function(value、element、params){return Date.parseExact(value、 "d / M / yyyy"); });

しかし、nl-BEに次のdate:25/05/2012を入力すると、ブラウザはokと表示しますが、サーバーがエラーをスローします(この形式が間違っているため)。エラープルーフではありません。

誰かがdd/mm/yyyyまたはmm/dd/yyyyを処理できるエラープルーフのクライアント側の検証を手伝ってもらえますか

ありがとう

4

2 に答える 2

1

Object プロパティで強制できます。

[DisplayFormat(DataFormatString = "{0:dd-MM-yyyy}", ApplyFormatInEditMode = true)]

これを jQuery UI の datepicker と組み合わせて、サイトの訪問者が日付を入力するのではなく日付を選択するようにすると、しっかりしたものになるはずです。

最後に必要になるのは、共有フォルダー内の新しいフォルダーです: EditorTemplates と新しいビュー: DateTime.cshtml:

@model System.DateTime 
@Html.TextBox("", ViewData.TemplateInfo.FormattedModelValue, 
                    new { data_datepicker=true })
于 2012-05-24T09:21:32.520 に答える
1

これは Chrome のバグです。ここで解決策を見つけました ))

http://geekswithblogs.net/EltonStoneman/archive/2009/10/29/jquery-date-validation-in-chrome.aspx

多分何人かの人々もエラーを受け取るでしょう;)

于 2012-05-25T12:20:21.003 に答える