2012-03-19 9 views
5

私はMVC 3とJQueryの検証の初心者ですので、ここで手に入ることができれば幸いです。JQueryの検証とMVC 3.日付の書式を変更する方法

私の開発プラットフォームは.NET MVC 3のウェブサイトです。私はフォームの検証のために控えめなjavascriptでビルドを使用しています。有効な日付の日付を別の形式に変更する方法はありますか?私が知る限り、有効なフォーマットはdd/mm/yyです。有効な日付形式を「2012年4月3日」のように変更できますか?

マイビューモデルは、フィールドがあり

[Required] 
DateTime OrderDate { get; set; } 

私はMVC 3はので、私はjqueryの検証への変更を必要とするソリューションを考えてフックする方法もわからないんだけど、ボンネットの下にjqueryの検証を使用していることを知っていますそれはMVCまでですので、データ注釈を使用して構築された他のすべてのデータ検証と同じように動作します。

ありがとうございます。

答えて

1

あなたがDisplayFormat注釈とそうでしょう受注日の形式を変更したい場合:

[DisplayName("Order Date")] 
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:MM/dd/yy}")] 
[Required] 
DateTime OrderDate { get; set; } 

DataFormatStringをご希望の日付時刻形式です。

+0

ありがとうございますが、動作しません。上記のように私の日付形式は "2012年3月18日"ですので、私の書式であなたの提案をわずかに微調整しましたが、日付の検証はまだ失敗します。 [DisplayFormat(ApplyFormatInEditMode = true、DataFormatString = "{0:MMM dd、yyyy}")] – user1279723

8

日付のクライアント側の検証を使用する場合は、日付のjQuery検証もオーバーライドする必要があります。

$.validator.methods.date = function (value, element) { 
    return this.optional(element) || Globalize.parseDate(value, "MMM dd, yyyy") !== null; 
} 

は、あなたのHTMLの頭の中でグローバル化ライブラリと適切な文化を参照する必要があります。 https://github.com/jquery/globalizeからダウンロードしてください。

関連する問題