Javascript webshims在提交时验证000-00-00日期

Javascript webshims在提交时验证000-00-00日期,javascript,validation,date,webshim,Javascript,Validation,Date,Webshim,我想用这样的空值验证输入日期 <input type="date" value="0000-00-00" id="date" /> 提交时,我收到一条逻辑消息“请输入日期” 我发现了这样的东西。 如果您知道如何做到这一点,下面是一个示例这根本不是一个日期,并且根据浏览器实现的不同,此值要么为空,要么被视为输入错误或类型不匹配 如果要使用此选项,可以使用以下选项: 自己严格清空它: $('input[type=“date”]”) .on('change.empty',函数(){

我想用这样的空值验证输入日期

<input type="date" value="0000-00-00" id="date" />

提交时,我收到一条逻辑消息“请输入日期”

我发现了这样的东西。
如果您知道如何做到这一点,下面是一个示例

这根本不是一个日期,并且根据浏览器实现的不同,此值要么为空,要么被视为输入错误或类型不匹配

如果要使用此选项,可以使用以下选项:

  • 自己严格清空它:
  • 
    $('input[type=“date”]”)
    .on('change.empty',函数(){
    var val=$.prop(该“值”);
    如果(!val | | val=='0000-00-00'){
    $.prop(该“值”为“”);
    }
    })
    .trigger('change.empty')
    ;
    

  • 设置novalidate属性:
  • ```

    
    
  • 如果还希望允许无效日期,请使用其他输入:
  • ```

    
    
    我将尝试第一个技巧,但你确定跳跳虎()rrrr;是的,触发器是针对服务器可能最初呈现此值的事实。事实上,我正在用一个名称空间('.empty')触发更改事件,这使得它非常安全,只调用这个侦听器,而不调用其他侦听器。一开始这可能看起来很愚蠢,但如果出现错误输入,DOM世界中的值是“”,但用户世界中的值是存在的;¬)
    <form novalidate="">
           <!-- ... -->
    </form>
    
    <input type="number" min="0" max="31" /> 
    <input type="number" min="0" max="12" />
    <input type="number" min="0" max="9999" />