1

DateTimeフィールドを今日の日付に制限する最良の方法を見つける必要があります。ユーザーが将来日付を選択しないようにする必要があり、私はC#MVCアプリケーションでそれを行う最良の方法を理解しようとしています。DataAnnotationsを使用してMVCアプリケーションのフィールドで最大DateTimeを設定する

私はJavascriptを使ってクライアント側でそれを実行できます。 私が把握しようとしているのは、おそらくDataAnnotationsを介してサーバー側で行うのが最善の方法でしょうか?

最大DateTimeを指定するために使用できるDataAnnotations属性はありますか?それとも、日々MaxDateが今日の日付に変更されるため、データアノテーションによってそれを行うのは良い方法ではありませんか?

C#プログラミングロジックを介して検証するだけでよいですか?

+0

で重複似た何かを持っている:それはないですhttp://stackoverflow.com/questions/1406046/data-annotation-ranges-of-dates –

+0

を。私の質問は、静的な日付についてではありません。 RangeのdataAnnotations属性は認識していますが、DateTime.Nowを使用することについては気になります。その属性は良い考えではありません。 それはいいですか? これは受け入れ可能ですか? [Range(typeof(DateTime)、DateTime.Min、DateTime.Now – Shenaniganz

答えて

2

私は自分のアプリケーションの1

public sealed class DateEndAttribute : ValidationAttribute 
{ 
    public string DateStartProperty { get; set; } 
    public override bool IsValid(object value) 
    { 
     // Get Value of the Date property 
     string dateString = HttpContext.Current.Request[YourDateProperty]; 
     DateTime dateNow = DateTime.Now 
     DateTime dateProperty = DateTime.Parse(dateString); 

     // 
     return dateProperty < dateNow; 
    } 
} 
+0

カスタムデータアノテーションについてはすぐに質問しましたが、これまで私はそれらと仕事をしていませんでしたので、カスタムバリデーターをEntityモデルクラス別途保管する必要がありますか? – Shenaniganz

+0

通常、そのクラスに固有のものでない限り、すべてのカスタム属性を個別に保存します。 – MrBliz

+0

ありがとうございました。私はあなたと以下のソリューションを組み合わせました: http://stackoverflow.com/questions/ 5390403/datetime-date-hour-validation-with-data-annotation – Shenaniganz

関連する問題