2015-09-01 85 views
0

我想在jquery驗證中添加一個自定義驗證例程的depends子句。傳遞參數對象的語法是什麼?所以它應該檢查存檔日期是否在publishDate中的值之後,但是隻有當複選框沒有被選中。請注意,該方法工作正常,當沒有依賴,我只是添加afterDate: '#publishDate'。我只是試圖找出如何params對象傳遞給函數...傳遞參數的語法,並取決於自定義方法在jquery驗證

archiveDate.rules("add",{ 
     afterDate: { 
      params: ["#publishDate"], 
      depends: '#publishNow:unchecked' 
     }, 
     messages: { 
      afterDate: 'Archive date should be after publish date' 
     } 
    } 
) 
+0

您應該包含足夠的代碼,用於包含對'.validate()'和相關HTML標記的調用的工作示例。否則,我們必須假設你已經在你所展示的之外創建了零個語法錯誤。 – Sparky

+0

我提到的代碼工作正常,沒有依賴調用。我正在尋找的只是如何通過你發佈的答案「param」地址。 –

回答

0

的語法是一樣的,如果你的.validate()方法中使用它。

  • depends邏輯需要被包裹在返回truefalse的功能。

  • 拼寫爲param而不是params

Refer to the documentation.

假設archiveDate代表針對驗證元素的有效jQuery選擇,並afterDate表示自定義方法名稱...

archiveDate.rules("add",{ 
    afterDate: { // <- name of custom method 
     param: ["#publishDate"], 
     depends: function(element) { 
      return $('#publishNow').is(':unchecked'); 
     } 
    }, 
    messages: { 
     afterDate: 'Archive date should be after publish date' 
    } 
}); 

注意:由於afterDate是一種自定義方法,您不需要將它與depends結合使用。該邏輯可以很容易地構建到自定義方法本身中。

+0

感謝「param」就是我一直在尋找的東西。我確實已經檢查了幾次文檔,並且找不到參數名稱。現在我知道我在找什麼,它就是其中一個例子。此外,該功能一般添加,所以我不想添加窗體特定的邏輯。現在運行良好...謝謝... –