2011-12-27 77 views
2

我有一個jQuery驗證插件。我不希望我的表單提交,如果有某些事情是不正確的。如果它沒有特定的日期字段或其他varChar(25)字段,我不希望它提交。如果某個字段中有超過4000個字符,我也希望確保它不會提交。如果該字段沒有字符,則可以提交表單。爲了與jquery驗證一起工作,我需要做出一個需要驗證的驗證嗎?jquery驗證需要vs不需要

$("#temp1").validate({ 
     rules: { 
      HospitalFinNumber: { 
       required: true, 
       minlength: 6 
      }, 
      DateOfBirth: { 
       required: true 
      }, 
      AdmitDate: { 
       required: true 
      }, 
      Comment: { 
       maxlength: 4000 
      } 
     }, 
     messages: { 
      HospitalFinNumber: 'Please Enter a Hospital Fin number', 
      DateOfBirth: 'Please enter a valid Date Of Birth', 
      AdmitDate: 'Please select an Admit Date' 
     } 

請注意,我有前三個字段,最後一個是不需要的。我試圖提交表單,如果該字段中有超過4000個字符,它確實會回發到服務器。這將是一個問題。我需要以某種方式有條件地要求這個字段。另外,如果需要設置爲true,那麼您應該無法將填寫正確的那些字段提交給表單?

+0

'Comment'是字段的'name',不一定是'id'正確? – 2011-12-27 21:22:45

+0

正確的一個mundo。評論是該字段的名稱。 element32是id – SoftwareSavant 2011-12-28 12:12:51

回答

3

你有兩個選擇,要麼寫custom validation classes,要麼使用必需的依賴關係表達式,而不是僅僅使用true。我認爲後者更漂亮。

請參閱the docs對此。以下是如何根據長度可選地要求您的評論字段:

required: function(element) { 
    return $(element).val().length > 4000; 
} 
+0

謝謝。這實際上是有道理的。 – SoftwareSavant 2011-12-28 12:28:31

+0

順便說一句,爲什麼功能鍵如果$(元素).val()。length> 4000;難道我們不希望它低於4000. – SoftwareSavant 2011-12-28 12:42:07

+0

是的抱歉,我從來沒有完全理解所需條件應包含什麼內容......什麼時候需要它?我可以編輯我的答案以反映這一點 – Simeon 2011-12-28 17:20:49