2017-09-29 61 views
3

我使用https://jqueryvalidation.org/形式验证插件jQuery验证失败步骤=“1”在“日期时间本地”输入类型

当我把step="1"datetime-local输入字段,以显示秒,如果I” m使用插件验证该字段(例如,只是“必需”),我得到一个javascript错误,指出“不支持输入类型datetime-local的步骤属性”。如果我把这个步骤=“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/[email protected]/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页面中打开了一个bug,但也许你们中的任何一个人都有同样的问题,并且找到了解决这个问题的方法,或者至少在修复它之前暂时避免它。

回答

2

jQuery验证自动对输入类型应用规则,所以步骤无法验证。

这将帮助你:

$("#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/[email protected]/dist/jquery.validate.min.js"></script>

+0

是啊,人!有用!!所以,显然,该插件正在解释允许使用秒作为验证规则的datetime-local的html step属性(这仍然不受支持),对吧? –

+0

是的,你是对的;) – Vixed