将step= "1"放入"datetime-local"输入类型时,jQuery 验证失败



我正在使用https://jqueryvalidation.org/表单验证插件

当我将step="1"放在datetime-local输入字段中以显示秒数时,如果我使用插件验证该字段(例如,"需要"),我会收到一个JavaScript错误,说"输入类型dateTime-dateTime-不支持本地"。如果我将此步骤=" 1"放在未经验证的字段中,则无问题。

$("#testingform").validate();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/jquery-validation@1.17.0/dist/jquery.validate.min.js"></script>
<form id="testingform">
    <input type="datetime-local" step="1" name="date1" required>
    <button type="submit">Send</button>
</form>

...只需将日期和时间放在几秒钟内,然后单击"发送"按钮。您可以在控制台中看到错误。

我已经在项目的GitHub页面上打开了一个错误,但是也许你们中的任何一个都有相同的问题,并且已经找到了解决该错误的方法,或者至少暂时避免了它。p>

jQuery validate自动在输入类型上应用规则,因此 spep 无法验证。

这将帮助您:

$("#testingform").validate({
  rules: {
    date1: {step: false}
  }
});
<form id="testingform">
    <input type="datetime-local" step="1" name="date1" required>
    <button type="submit">Send</button>
</form>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/jquery-validation@1.17.0/dist/jquery.validate.min.js"></script>

最新更新