2012-04-14 75 views
0

想法是隻檢查沒有零的正整數,但是,添加的自定義規則不起作用,如何解決?謝謝。在jquery validate插件中檢查正整數(不包括零)

$(document).ready(function(){ 
    $("#genForm").validate({ 
     rules: { 
     'fb' : { 
       number: true 
      }, 
    'order[]' : { 
       required: true, 
       number : true 
      }, 
      parent: { 
     required: function(element) { 
     return $("#order[]").val() < 0 ; 
     }}  

     } 
    }); 

    $("#order[]").blur(function() { 
    $("#parent").valid(); 
}); 

HTML:

foreach ($result as $set) // it determine how many text input box in total 
{ 
<input type='text' id="order[]" name="order[]" > 
} 

進一步解釋:

<input type='text' id="order[]" name="order[]" value="-1" > //not allowed case 1 

<input type='text' id="order[]" name="order[]" value="5" > //not allowed case 2 
<input type='text' id="order[]" name="order[]" value="5" > //not allowed case 2 
<input type='text' id="order[]" name="order[]" value="2" > //not allowed case 2 
+1

您是否已將'positiveinteger'定義爲自定義規則的任何地方? – alex 2012-04-14 05:51:00

+0

對不起,如何定義它? 我有一個正則表達式 「(^ \ d * \。?\ d * [1-9] + \ d * $)|(^ [1-9] + \ d * \。\ d * $)」for這實際上是 – user782104 2012-04-14 05:56:24

+1

你需要定義它。另外,當你使用'value> 0'時,正則表達式是一個糟糕的選擇。 – alex 2012-04-14 05:59:29

回答

1

你確定你的語法是正確的嗎?

return order[] > 0; 
+0

除> 0,我可以檢查元素的順序[]是不是一樣的?例如,{2,2,1,5}是不允許的,謝謝 – user782104 2012-04-14 06:27:30

+0

對不起,但我已經試過返回$(「#order []」)> 0;和 user782104 2012-04-14 06:37:58

+1

我不完全明白你想要在這裏做什麼。你是否試圖循環遍歷ARRAY中的所有元素,還是訂購一個元素?你能解釋一下你想做什麼嗎?這可能會有幫助。 – 2012-04-14 06:38:53