最近よくホームページ制作依頼を受けているのですが、その中で一つ迷いそうな項目を見つけました。

「問い合わせフォーム等で日付を入力させたいけど、その期間を制限したい…」という時に、日付の入力範囲を制限する方法です。

他のプラグインで対応させたりするものもあったのですが、ContactForm7には標準で搭載されています。

プラグインを無駄に追加すると、ページの表示速度が遅くなったり、プラグインが増えすぎてわけがわからなくなってしまいますので、極力増やさずにできることはしていきましょう!

※今回は既にContactForm7を導入している方向けとなっております。ContactForm7のインストールは、様々なページで紹介されていますので、是非ご覧ください。[プラグイン]▶[新規追加]▶[Contact Form 7]で検索するとインストールできます。

通常の日付入力の設定

さて、先程もお伝えしたようにContactForm7にはデフォルトで日付入力機能がついています。

また、それに付属した日付範囲の入力制限等も標準搭載となっています。

通常、問い合わせフォーム等で日付入力エリアを作成する場合は、以下のように設定すると思います。

このように設定すると、実際には以下のように表示されます。

このままだと、どんな日付でも入力できてしまいます。

例えば以下のように、ものすごい過去の日付でも入力できてしまいます。

過去の日付を入力させたいときはともかく、例えば何かの予約をさせたいときや、こんな日付が問い合わせフォームできたりした日にはとても困りますよね。

そんなときは、日付の入力範囲を制限しちゃいましょう。

日付の入力範囲の制限方法

それでは本題、日付の入力範囲の制限方法のご紹介です。

といっても、特別なことはほとんど必要ありません。先程の設定を以下のように変更するだけです。

今回は、2019/2/1〜2019/2/28で制限をかけました。2月中以外は入力させたくない時に有用です。

このように指定すると、初期状態で既に以下のように表示されます。

この「2019」と「2」ははじめから入力されており、変更はできません。「日」のところをトグル、もしくはカレンダーから指定可能です。

これで日付入力の入力範囲をうまく制限できたのではないかな、と思います。

まとめ

さて、今回は日付入力の入力範囲の制限方法を紹介いたしました。簡単でしたね。

日付入力をしてほしいときに制限がないと、誤った日付を入力してしまう場合もあります。制限できるときはしてしまったほうが良いでしょう。

ちなみに、このminやmaxでは、今回のように特定の日付で静的に指定することも出来ますが、例えば「今日から〜日後まで」など動的な制限も可能です。

ContactForm7、本当に良いプラグインです!是非ご活用ください!