javascript - 验证最小日期 JavaScript

标签 javascript

我正在尝试验证从对象类型 =“日期”到 checkout 的最短日期(今天),然后将天数带到另一个变量以供进一步使用,所有这些都使用一个按钮。我的问题是我真的不明白如何比较日期。

html

<label for="date1"> Checkin </label>
    <input type="date" id="date1">

<label for="date2"> Checkout </label>
    <input type="date" id="date2">

<button type="button" id="btn1" required>Action</button>

js

let btn1 = document.getElementById('btn1');
let checkIn = document.getElementById('date1');
btn1.addEventListener('click', minDate);

function minDate(){
    let nowDate = new Date;
    if(checkIn.value < Date){

        alert("invalid date")
    }

}

如果日期早于今天,该函数会发出警报,但也会显示今天之后的任何日期的警报。

最佳答案

你好克里斯蒂。

为了验证我们的日期,我们必须首先将表单中的输入转换为 javascript Date objects .我们可以通过将输入传递给类的构造函数来做到这一点。之后,我们可以简单地比较值。

const btn1 = document.getElementById("btn1");
const checkIn = document.getElementById("date1");
btn1.addEventListener("click", minDate);

function minDate() {
  const checkInDate = new Date(checkIn.value);
  const nowDate = new Date();

  if (checkInDate > nowDate) {
    alert("Invalid date provided");
  }
}
<label for="date1"> Checkin </label>
<input type="date" id="date1">

<label for="date2"> Checkout </label>
<input type="date" id="date2">

<button type="button" id="btn1" required>Action</button>

关于javascript - 验证最小日期 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57236969/

相关文章:

javascript - 将多个数组对象转换为单个数组,下划线

javascript - Firebase 电话身份验证后根据用户的角色重定向用户

javascript - 如何处理双夏令时浏览器兼容性问题

javascript - 为什么执行 Object.create(null) 之后将其原型(prototype)设置为 Object.prototype 将不允许执行 Object.prototype 中的方法

javascript - 如何在div中的指定高度添加水平线?

javascript - 我无法让 .animate() 正常工作

javascript - 简化删除重复数组的功能

javascript - animate.css 并删除元素

javascript - 在后台打开新窗口

javascript - 使用 Ajax 时是否应该为视觉客户端和服务器端编写逻辑?