はじめに
Railsにてポートフォリオ作成時、動作確認を行う中で、日時のフォームにdatetime-localを使用している箇所で、不都合なことが起きたため、まとめたものです。
type=datetime-local
下記のように、日時を登録するフォームを生成するもの。
railsのform_with使用時は以下で製作可能
<%= f.datetime_field :start_time, ...
不都合① safari
iphoneを用いて動作確認中に、予定を新規作成しようとした際、保存を押しても"有効な値を入力してください"と言われてしまう。
対応策としては、初期値を代入することで回避は可能
<%= f.datetime_field :start_time, value: Time.current.strftime("%Y-%m-%dT%H:00:00") %>
不都合② Firefox
Firefoxではそもそも対応していない
そのため、間の"T"を消して登録などを押されると、不正な値として送信していることになる。