javascript - PHP 日期验证功能

标签 javascript php html

我的网站上有一个简单的表格,要求提供事件 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/

相关文章:

javascript - 日期选择器不一致

javascript - 为什么我需要加载 JavaScript 模块,所有这些加载器之间有什么区别?

php - mysql php 不能使用 "like"作为列标题

php - 在同一查询中查询帖子和标签

html - 保持固定位置图像始终位于视口(viewport)中心

html - CSS - 在没有子元素的情况下更改类文本的 css 背景

javascript - 页面完成后加载文件而不重定向

javascript - 在同一页面上 Bootstrap 多个选项卡并仅显示一个选项卡

php - 当用户完成观看 vimeo 视频时,将类(class)记录为已完成

javascript - 如何在 CSS 或 Javascript 中创建具有特殊形式的 <div>