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

jQuery validation fails when putting step="1" in a "datetime-local" input type

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

当我将 step="1" 放入 datetime-local 输入字段以显示秒数时,如果我使用插件验证该字段(例如 "required"),我得到javascript 错误说 "Step attribute on input type datetime-local is not supported"。如果我将此 step="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>

...只需输入日期和时间,然后单击 'Send' 按钮。您可以在控制台中看到错误。

我已经在项目的 github 页面中打开了一个错误,但也许你们中的任何人遇到了同样的问题并且找到了解决它的方法或者至少暂时避免它直到他们修好了。

jQuery 验证自动对输入类型应用规则,因此无法验证 step

这将帮助您:

$("#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>