验证空日期输入?

时间:2020-11-03 15:10:01

标签: javascript

我只是在尝试将textdate输入插入到对象之前是否为空。如果它们都是空的,我希望不要将它们添加到其中。但我所做的任何尝试,它们仍然会毫无价值地添加到对象中。

for(let i = 0; i < otherDeps.length; i++) {
      let obj;
      if(otherDeps[i].name && otherDeps[i].dob != "") { //Here
        obj = {
          name: otherDeps[i].value,
          dob: otherDepsAge[i].value
        };
      }
      otherDepsArray.push(obj);
    }

我尝试过if(!otherDeps[i].date)ìf(otherDeps[i]name != '' && otherDeps[i].date != '0000-00-00')

有人知道解决此问题的正确方法吗?

1 个答案:

答案 0 :(得分:1)

这是您需要检查无效日期或不正确日期的两个条件:

  • theDate.value
  • isNaN(new Date(theDate).getTime())

将其放到透视图中,我们可以做类似的事情:

function checkDate() {
  var theDate = document.getElementById("date").value;
  if (theDate.trim() === "" || isNaN(new Date(theDate).getTime())) {
    console.log("Invalid Date!");
  } else {
    console.log("Valid Date!");
  }
}
<input type="date" id="date" />
<button onclick="checkDate()">Check Date</button>

在您的for循环中,将日期值包装在上面的checkDate()条件中。这应该起作用。