2016-04-29 9 views
0

私は私のViewModelに次のフィールドがあります。のDateTimePicker ASP.NET MVC

[Display(Name = "Datum und Uhrzeit der Vorstellung")] 
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:dd.MM.yyyy HH:mm}")] 
public DateTime DateAndTimeOfPerformance { get; set; } 

し、それを部分図で次のように表示します。あなたが見ることができると同様

<div class="form-group"> 
    @Html.LabelFor(model => model.DateAndTimeOfPerformance, new { @class = "control-label" }) 
    <div class="input-group date datetimepicker"> 
     @Html.TextBoxFor(model => model.DateAndTimeOfPerformance, "{0:dd.MM.yyyy HH:mm}", new { @class = "form-control", @Value = Model?.DateAndTimeOfPerformance.ToString("dd.MM.yyyy HH:mm") }) 
     <span class="input-group-addon"> 
      <span class="glyphicon glyphicon-calendar"></span> 
     </span> 
    </div> 
    @Html.ValidationMessageFor(model => model.DateAndTimeOfPerformance, null, new { @class = "text-danger" }) 
</div> 

が、私はブートストラップの使用をDateTimePickerの:

$('.datetimepicker').datetimepicker({ 
     format: "DD.MM.YYYY hh:mm" 
    }); 

しかし、私は常に検証エラーを取得:

The field Datum und Uhrzeit der Vorstellung must be a date.

私はStackoverflowに関する研究から、DateTimeで扱いにくいことがあることがわかりましたが、私がこの作業を行う方法を見てみると、私と一致する例は見つかりませんでした。

MVC検証とブートストラップのDatetimepickerを組み合わせる方法はありますか?

おかげ

+0

あなたのアプリのカルチャーとuiCultureの価値は? web.configで設定できます。設定されていない場合、デフォルトでen-ENが使用されるため、値をdateTimeに解析することはできません。 –

+0

デフォルトでは、 'jQuery.validator'は' MM/dd/yyyy'フォーマットに基づいて日付を検証しますので、バリデーターを再設定する必要があります。いくつかのオプションについては、[この回答](http://stackoverflow.com/questions/27285458/jquery-ui-datepicker-and-mvc-view-model-type-datetime/27286969#27286969)を参照してください。 –

答えて

0

これは間違いなくあなたのDateAndTimeOfPerformance変数の値の形式の問題です。コントロールは、正しい日付時刻に解析することができません。フォーマットを確認してください。

また、培養物を確認してください。それは、datetimepickerが認識していない形式にDateTimeを混乱させ、問題を引き起こしている可能性があります。

コントロールをdatetimepickerとともに使用し、使用されている値を確認します。そこから行くことができます。