2010-12-20 71 views
2

jQuery驗證插件不會驗證所需的空字段,直到單擊提交。有沒有一種方法來驗證內聯?jQuery驗證插件:如何驗證空字段?

我需要這些字段來驗證,如果在用戶選項卡中通過它們留空。所以內聯消息應該在必要的字段(onBlur)中退出後立即顯示。

$("form#CheckOut").validate({ 
    rules: { 
     NameOnCard: { required: true, minlength: 2}, 
     CreditCardType: {required: true}, 
     CardNumber: {required: true, creditcard: true}, 
     ConfEmail: {equalTo: "#EMail" }, 
     FirstName: {required:true} 
    }, 
    messages: { 
     NameOnCard: "Enter the name on your card", 
     CreditCardType: "Select a credit card type", 
     CardNumber: { 
      required: "Please enter credit card number", 
      creditcard: "Not a valid credit card number" 
     } 
    } 
}) 
+0

和您正在使用的代碼? – Breezer 2010-12-20 20:27:54

+0

在我的問題中增加了代碼 – 2010-12-20 20:33:59

+1

如果不調整validate插件,則無法實現。 – simshaun 2010-12-20 20:36:50

回答

0

這是一個意思是行爲。其目的是儘可能少地激怒用戶。

來源:http://docs.jquery.com/Plugins/validation#A_few_things_to_look_for_when_playing_around_with_the_demo

「字段被標記爲無效之前,驗證是懶惰:提交表單的第一次之前,用戶可以通過沒有得到煩人的信息字段標籤 - 他不會得到竊聽之前,他有實際輸入正確的值」

+0

有道理......顯然我應該更仔細地閱讀文檔 – 2011-05-09 12:46:48

0

如果你正在嘗試做的我是同樣的事情的機會: Validate prefilled jQuery form (invalidate on first field clear, ASP.NET and unobtrustive)

,我認爲這是在插件中的缺陷: https://github.com/jzaefferer/jquery-validation/issues/146

我編輯插件,直到我聽到回來。您還可以強制驗證各個元素以繞過空場檢查。

+0

我還將我爲解決問題所做的代碼更改發佈到缺陷憑單中。 – shannon 2011-07-09 22:07:03