3

クライアント側の検証DateTimeフィールドに問題があります。私は、日付と時刻のフィールドに私のモデルクラスで以下の DataAnnotationを使用しています:MVC 3 Internet Explorerのクライアント側の日付検証の問題

[Display(Name = "Beginning Date", Description = @"Insert Date yyyy-mm-dd")] 
[DataType(DataType.Date, ErrorMessage = @"Insert Date yyyy-mm-dd")] 
[DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}", ApplyFormatInEditMode = true)] 

私は日付を挿入するためのjQuery UIからDatapickerを使用しています。日付形式は

$(document).ready(function() { 
    $.datepicker.setDefaults({ dateFormat: 'yy-mm-dd' }); 
}); 

によって強制されます。Firefoxではうまくいきますが、Datepickerを使用して日付を挿入するとInternet Explorerで完全にクラッシュします。 yyyy-mm-ddではなくyyyy/mm/ddの形式で日付を入力すると、検証エラーになりません。

Internet Explorerで検証フォーマットがFirefoxと異なる理由は誰ですか、どこで変更できますか?

ありがとうございました。

答えて

7

dateバリデータをdateISOバリデータで置き換えることができます。デフォルトでは

$.validator.methods["date"] = function (value, element) { 
    return $.validator.methods.dateISO.apply(this, arguments); 
}; 

jQuery date validation method内蔵Dateオブジェクトの日付が有効であるかどうかをテストするためのJavaScriptのを使用しています。 Internet Explorer 8以降では、Dateオブジェクト(JavaScript Version Information参照)のISO日付形式の使用がサポートされていないため、検証が失敗します。

関連する問題