私のASP MVC 5 Webアプリケーションでは、特定の形式で日付を表示する必要があります。ページが読み込まれると、テキストが正しくフォーマットされます。あなたが値を編集したり、単純に投稿しようとした場合でも、検証エラーが表示されます。ASP MVC 5日付形式の検証問題
フィールドがこのように定義されています
:のviewmodelプロパティは次のように定義されて @*Creation*@
<div class="form-group">
@Html.LabelFor(model => model.Creation, new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.TextBoxFor(model => model.Creation, "{0:dd/MM/yyyy}", new { @class = "form-control"})
@Html.ValidationMessageFor(m => m.Creation)
</div>
</div>
[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}", ApplyFormatInEditMode = true)]
[Display(Name = "Creation", ResourceType = typeof(Resources.Resources))]
public DateTime Creation { get; set; }
スクリーンショットはFirefoxブラウザを使用して作成されました。私がEdgeで同じことをすると、バリデーションは成功しますが、postメソッドに対するこのプロパティのバインディングは無効です(デフォルトの日付値)。
この問題を解決するにはどうすればよいですか?
を'MM/dd/yyyy'に基づいて日付を検証する)、バリデータをオーバーライドする必要があります([この回答](http://stackoverflow.com/questions/30594128/error-in-date-validation-mvc/30609111 #30609111)詳細については –
Edge(とChrome)で動作するのは、あなたが '[DataType(DataType.Date)] DatePickerのブラウザの実装が表示されることを意味する 'type =" date "を生成しますが、正しく動作させるには' DataFormatString = "{0:yyyy-MM-dd}"(ISOフォーマット) –
クライアント側のビューに含めることができるスクリプトも含まれている[この回答](http://stackoverflow.com/questions/39677035/date-of-birth-validation-keeps-showing/39682410#39682410)を参照してください検証。 –