我的网站上有一个简单的表格,要求提供活动ID,日期和金额。我想确保用户输入的日期超过10天。如果活动时间少于10天,我不希望我的客户在线付款。一旦他们输入信息,他们就会被引导到一个安全的网站,在那里他们可以进行我银行提供的付款。
有没有办法检查提交日期或通过某种使用修改后的对象属性的javascript来提醒用户日期无效?
任何帮助都会很棒。谢谢!富
答案 0 :(得分:2)
使用HTML5,日期输入有min
(和max
)属性,以YYYY-MM-DD
格式作为参数。
<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
}
答案 1 :(得分:0)
检查UNIX时间+ 10天(秒)。
$date = "2017-09-05";
If(strtotime($date) > time()+(60*60*24*10)){
Echo "ok";
}