输入类型日期,区分空和无效[关闭]

问题描述 投票:0回答:1

我有一个模态窗口,其表单包含类型为 date 的可选字段,即:

<input id="myDate" type="date" />

如果我选择一个日期,即 14/05/2024,然后删除一些部分(留下日期不完整),即

dd/05/2024
,似乎空白或不完整的日期或错误的格式都会以相同的方式处理,就好像日期为空一样。 (使用 jQuery 的
.val()
在这两种情况下该值都是空的)

有没有一种方法,使用 jQuery,以不同的方式处理空日期和不完整或格式错误的情况?

谢谢大家给我一些有用的提示!

jquery date validation input datepicker
1个回答
1
投票

是的,这是可能的,如果 val 为空,您可以检查

validity.badInput
以检查输入是否完全为空或有输入但其“错误输入”,例如
dd/05/2024

$('#submit').on('click', function(){
  $input = $('#date');
  if ($input.val() == ""){
    if ($input[0].validity.badInput) {
      console.log("INPUT NOT EMPTY BUT INVALID!!!")
    }
    else {
      console.log("INPUT COMPLETELY EMPTY")
    }
  }
  else {
    console.log("INPUT VALID: " + $input.val() ) 
  }
 });
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.7.1/jquery.min.js"></script>


<input type="date" id="date">
<input type="submit" id="submit">

© www.soinside.com 2019 - 2024. All rights reserved.