2017-09-29 175 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