3

Entity Framework 4を使用して、ASP.NET MVC3 /Razor2Webアプリケーションのモデルを提供しています。DataAnnotationsを使用して検証を実装しています。一部の日付をSQLsmalldatetimeタイプで受け入れられる範囲に制限する必要があります。

私の問題は、RangeAttributeを日付フィールドに対して正しく機能させることができないことです。問題のフィールドのモデルメタデータ定義は次のとおりです。

    [Display(ResourceType = typeof(Resources.Patient), Name = "DateOfBirth_Name")]
    [DisplayFormat(DataFormatString = "{0:d}", ApplyFormatInEditMode = true)]
    [DataType(DataType.Date)]
    [Range(typeof(DateTime), "01/01/1900", "06/06/2079", ErrorMessageResourceType = typeof(Resources.Patient), ErrorMessageResourceName = "DateOfBirth_Range")] 
    public System.DateTime DateOfBirth { get; set; }

このコードでは、日付フィールドにどのような値を入力しても、アプリケーションによって無効として扱われます。関連する場合は、問題のフィールドでもJQuery-UI日付ピッカーを使用しています。

誰か助けてもらえますか?

4

1 に答える 1

2

エラーが発生した場所は特定されていませんが、クライアント側(?)であると推測されます.jQuery ValidationはRangeAttribute. 確認するには、jQuery Validation を無効にします。有効な入力は (サーバー) 検証に合格する必要があります。

これを回避するには、独自の日付範囲の検証を作成する必要があります。 jquery-ui-date-picker-and-adding-a-jquery-validate-date-range-validator.aspx

または、 Data Annotations ExtensionsMVC Foolproof Validationなどのパッケージを調べて、問題の解決に使用できるかどうかを確認することもできます。

于 2012-11-01T20:20:07.757 に答える