使用 jQuery 移动日期框时,我遇到了 jQuery 验证问题。
我将验证设置为:
onkeyup: false
我相信这会触发对焦点/模糊(选项卡)事件的验证。
问题是,当我使用日期框选择器设置日期时,它似乎不会触发此事件,所以如果我有一个日期框,其日期为“必需”并且已填写,错误消息仍会显示...
编辑:
这是我的小提琴:
HTML
<form id="my_form" method="post">
<input name="name" id="full-name" data-theme="a" placeholder="Name" class="required">
<input name="athlete_datebox" id="athlete_datebox" data-theme="a" placeholder="Date of Birth" class="required">
<input type="submit" value="submit">
</form>
JS
$(document).ready(function () {
$('#my_form').validate({
onkeyup: true
});
$('#athlete_datebox').mobiscroll().date({
theme: 'jqm',
display: 'modal',
mode: 'clickpick',
dateOrder: 'mmD ddyy',
dateFormat: 'yy-M-dd',
endYear: 2034
});
$('#my_form').on('submit', function (event) {
event.stopPropagation();
event.preventDefault();
if ($('#my_form').valid()) {
alert('is valid');
}
});
})
如果您在填写任何内容之前点击“提交”,您会看到这两个字段都是必需的。但是,在使用 mobiscroll 日期选择器填写日期后,该字段仍列为必填字段,即使它不为空。