我的网站上有一个简单的表格,要求提供活动 ID、日期和金额。我想确保用户输入的任何日期都大于未来 10 天。如果我的客户的活动结束时间不到 10 天,我不希望他们在线付款。一旦他们输入信息,他们就会被引导到一个安全的网站,在那里他们可以进行由我的银行提供的付款。
有没有办法检查提交的日期或通过某种使用修改后的对象属性的 JavaScript 来提醒用户日期无效?
任何帮助都会很棒。谢谢!富有的
有了 HTML5,就有了min
(and 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 天之间的任何日期。However,有可能规避这一点 - 仅仅因为客户端上的任何内容都可以被操纵。这就是为什么你应该always对来自客户端的内容进行服务器端验证。使用 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
}
- PHP.net 上DateTime http://php.net/manual/en/datetime.construct.php
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)