如何在html中设置year的最大值和最小值

时间:2016-09-19 18:36:42

标签: javascript php

我需要在提交表单之前验证日期的最大值和最小值。我想在01-01-2005和12-12-2020之间发送日期。我怎么能在PHP中做到ti。如果在php中不可能,可以在javascript(jquery)

<input type="date" name="datepost" value="<?php echo date('Y-m-d');"/>

2 个答案:

答案 0 :(得分:1)

就像我在评论中提到的那样,你真正需要限制日期输入元素中的输入范围是minmax属性。不需要JavaScript!

&#13;
&#13;
<input type="date" name="datepost" min="2005-01-01" max="2020-12-12" value="<?php echo date('Y-m-d');"/>
&#13;
&#13;
&#13;

这将限制日期,允许2005年1月1日为表格中可供选择的最短日期,并且2020年12月12日为可用的最长日期。

虽然,用户可以通过简单地键入他们选择的日期来指定日期(而不是从选择窗口选择一个日期),在这些参数之外,所以你应该在PHP中验证它(在服务器端级别),在任何情况下都应该对所有用户输入执行此操作。您也可以在JavaScript中验证它,但总是验证服务器端。有关在PHP中验证它的方法,请参阅其他答案。

答案 1 :(得分:0)

此PHP方法将检查发布日期是否在定义的范围之间。

发布到此页面进行验证。

$user_time = date('Y-m-d', $_POST['datepost']);
$min = date('Y-m-d', strtotime('01-01-2005'));
$max = date('Y-m-d', strtotime('12-12-2020')); 

if (($user_time > $min) && ($user_time < $max)) {
    //Between Dates
}
else { 
 //Not between
}