我想用一个空值来验证一个输入日期,比如这个
<input type="date" value="0000-00-00" id="date" />
提交时,我收到一条符合逻辑的消息"请输入日期"
我发现了这样的东西http://jsfiddle.net/trixta/zRGd9/embedded/result,html,js,css/。如果你知道如何做到这一点,这里有一个例子http://jsfiddle.net/zRGd9/24/
这根本不是日期,根据浏览器实现的不同,该值要么被清空,要么被视为badInput或typeMismatch。
如果你想使用这个,你有以下选项:
- 严格地自己清空:
$('input[type="date"]')
.on('change.empty', function () {
var val = $.prop(this, 'value');
if (!val || val == '0000-00-00') {
$.prop(this, 'value', '');
}
})
.trigger('change.empty')
;
- 设置novalidate属性:
```
<form novalidate="">
<!-- ... -->
</form>
- 如果您还希望允许无效日期,请使用其他输入:
```
<input type="number" min="0" max="31" />
<input type="number" min="0" max="12" />
<input type="number" min="0" max="9999" />