、引数としてYYYY-MM-DD
形式を取り、日付入力用min
(およびmax
)属性は、あります。
<input type="date" min="2017-09-01" name="my_date" />
PHPを使用して、今後10日間の曜日を生成し、PHP経由でその日付を設定することができます。
<?php
$date = new DateTime("+10 days");
?>
<input type="date" min="<?= $date->format("Y-m-d"); ?>" name="my_date" />
これは、クライアント側のみとなります。日付セレクタで今日から次の10日間の任意の日を選択することはできません。 しかし、は、これを回避する可能性があります。クライアント側の何かを操作できるからです。だからこそ、常には、クライアントから来るものに関するサーバー側の検証を行うべきです。 DateTimeオブジェクトを使用すると、以下のように直接比較することができます。もちろん
<?php
$date_input = new DateTime($_POST['my_date']);
$date_limit = new DateTime("+10 days");
if ($date_input > $date_limit) {
// Valid date! It's not in the next 10 days
}
答えは方法が常にある、 "yes" です。しかし、あなたにここでコードを書くように依頼するのは、本当にSOだけではありません。あなたが立ち往生したときには何かを試してみてください。 – billynoah