概要
ASP .NET CoreでWebアプリを作成すると、
いろいろと自動的に作られて楽なんだけど、
日時データの入力まわりをちょっと変えようと思ってやってみたら・・・うまくいかなくて・・・
いろいろ調べて試行錯誤しつつ・・・
結局、Microsoft社のdocsをちゃんと読んだら書いてあったっていう話。
やりたかったこと
ASP .Net Core 3でDateTime型のプロパティを持つModelクラスを作成し、
「新規スキャフォールディングアイテムの追加」から
「Entity Frameworkを使用したビューがあるMVCコントローラー」項目を使って
自動的に画面を生成する。
Createのビューを表示させると、
DateTime型のプロパティに対応するinputタグには
自動的に日時を選択するピッカーが表示されるようになる。
これを日付だけを選択するピッカーが表示されるようにしたい。
方法
googleさんで検索すると、他のdatepicker/datetimepickerを導入する方法がヒットしたり。
⇒そっちじゃないんだ・・・。
ブラウザのDevToolなどを使って、該当のinputタグのtypeを調べてみると、
type="datetime-local"
となっているので、typeがdateになるように指定すればいいのではないかと思いながら、
docsのページをあさってみると、こんなページが。
https://docs.microsoft.com/ja-jp/aspnet/core/mvc/views/working-with-forms
Modelクラスの該当プロパティに
以下のようにデータ注釈属性を指定してみます。
DataTypeにDateを指定します。
DataとDateがややこしいですが(笑)。