我的网站上有一个简单的表格,要求提供事件 ID、日期和金额。我想确保用户输入的任何日期都大于 future 10 天。如果我的客户的事件结束时间不到 10 天,我不希望他们在线付款。一旦他们输入信息,他们就会被引导到一个安全的网站,在那里他们可以进行由我的银行提供的付款。
有没有办法检查提交日期或通过某种使用修改后的对象属性的 JavaScript 来检查日期,该属性会提醒用户日期无效?
任何帮助都会很棒。谢谢!丰富
最佳答案
在 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
}
关于javascript - PHP 日期验证功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45821865/