作って学べる
プログラミング講座
アプリを作りながら学習
自分のペースですぐに始められる
困ったら何回でも質問可能
Tips

datetime-local「有効な値を入力してください」の解決法

Sara

スマートフォンでは、input タグの type 属性に datetime-local を指定していると、日付を入力しているのに「有効な値を入力してください」 と表示される場合があります。

この記事では

  1. メッセージが表示されるタイミング
  2. 2つの解決方法

を紹介しています。  

表示されるタイミング

このメッセージは

input をタップ
日付を選択しないでそのままデートピッカーを閉じる
フォーム送信

で表示されます。

一度「有効な値を入力してください」と表示されると、画面をリフレッシュしない限り再度デートピッカーを表示できないので対策が必要になります。  

解決方法

解決方法は2つあります。

  1. 送信ボタンを押したらフォームを Submit する
  2. フォームのバリデーションを無効にする

解決方法① 送信ボタンを押したらフォームを Submit する

「送信」ボタンが押されたら onclick 属性を使ってフォーム送信します。

<form>
  <input type="datetime-local" name="date">
  <input type="submit" value="送信" onclick="form.submit()">
</form>

解決方法② フォームのバリデーションを無効にする

form タグに novalidate 属性をつけて、バリデーションが実行されないようにします。

<form novalidate>
  <input type="datetime-local" name="date">
  <input type="submit" value="送信">
</form>

input 要素に required 属性をつけていた場合は、そちらも無効になってしまうので注意が必要です。

<form novalidate>
  <input type="text" name="name" required><!-- 入力チェックされないので注意 -->
  <input type="datetime-local" name="date">
  <input type="submit" value="送信">
</form>
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
ABOUT ME
Sara
書籍やオンライン講座でプログラミングを勉強してフリーランスのプログラマーになりました。
このサイトでは「わかりやすく・シンプル」をモットーに、プログラミングの基礎からアプリ開発まで紹介します。
独学でプログラミングを勉強をしている方、基礎は勉強したけれど次に何をすれば良いか分からない...という方のお役に立てるサイトを目指しています。
主な使用言語:Java / Kotlin / PHP
>> 詳しいプロフィールはこちら
>> 書籍を出版しました!
>> お問い合わせはこちら
本格的に学びたい方へ

Code for Fun プログラミング講座

Code for Fun プログラミング講座では、プログラミングの基礎からアプリ開発まで学ぶことができます。

わかりやすく・シンプルをモットーに

  • 同じコードを書けば必ず完成できること
  • 専門用語を使いすぎないこと

を重視しています。

POINT 01

動くコード

プログラミングの文法だけを学んでも、そこから動くアプリを開発をするのは難しいです。

Code for Fun のプログラミング講座では、ゲームやカレンダーなど「アプリとして機能するもの」を作りながらプログラミングを学ぶことができます。

POINT 02

自分のペースで

オンライン講座なので、ご自身のペースで学習を進めて頂けます。

分からないことがあっても、前のレッスンに戻ることができるので安心です。

お申し込みしたその日からからすぐに始めることができます。

POINT 03

個別サポート

プログラミング学習では、エラーが起きることはよくあります。そんな時はお気軽にお問い合わせください!

コメント欄またはメールによるサポートを回数無制限でご利用頂けます。(*講座に関連するご質問のみ対応)

今すぐ無料でお試し

0
この記事にコメントするx
記事URLをコピーしました