私は実稼働環境で作業しています。問題は、DOBフィールドにmvcモデル検証が提供され、ビューでjquery.validate.unobtrusive.jsがフォームの検証に使用されることです。MVCモデルの検証に失敗しました - 日付は有効な日付でなければなりません
Date Pickerを使用して日付を選択すると、フォームを送信するとModelState.IsValidが失敗します。
コードを以下に示します。これはChromeでは正常に動作しますが、他のブラウザでは正常に動作しません。私のモデルでは
は:私のコントローラで
$('#datetimepicker2').datetimepicker({
format: 'MM/DD/YYYY',
maxDate: new Date()
});
:
if (ModelState.IsValid)
{
///some action
}
これは私の日付ピッカーで
<div class="col-md-6">
<div class="col-xs-12">
<label>DATE OF BIRTH<p>*</p></label>
</div>
<div class="col-xs-12">
<div class="form-group">
<div class="input-group" id="datetimepicker2">
@Html.TextBoxFor(d => d.DOB, new { @class = "form-control input-validation-error" })
<span class="input-group-addon"><span class="icon-small-calendar"></span></span>
</div>
@Html.ValidationMessageFor(m => m.DOB)
</div>
</div>
</div>
:
[Required(ErrorMessage = "Please enter DOB")]
[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:MM/dd/yyyy}", ApplyFormatInEditMode = true)]
public Nullable<System.DateTime> DOB { get; set; }
これが私の見解です私のweb.configファイルで
:
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
誰かが事前 で
おかげTarak
ます。https:
また、サーバー側のカスタムのDataBinderを実装する必要があります: //stackoverflow.com/questions/28114874/html-displayfor-dateformat-mm-dd-yyyy助けてもらうことができます –