【问题标题】:jQuery validation fails when putting step="1" in a "datetime-local" input type将 step="1" 放入“datetime-local”输入类型时,jQuery 验证失败
【发布时间】:2018-03-11 02:44:31
【问题描述】:

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

当我将step="1" 放入datetime-local 输入字段以显示秒数时,如果我使用插件验证该字段(例如,只是“必需”),我会收到一个javascript 错误,提示“Step attribute on不支持输入类型 datetime-local”。如果我将此 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>

... 只需将日期和时间设置为秒,然后单击“发送”按钮。您可以在控制台中看到错误。

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

【问题讨论】:

    标签: jquery validation jquery-validate


    【解决方案1】:

    jQuery validate 自动对输入类型应用规则,因此 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>

    【讨论】:

    • 是的,伙计!有用!!因此,显然,该插件正在解释 datetime-local 的 html step 属性,该属性允许使用秒作为验证规则(仍然不支持),对吧?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多