2012-04-14 4 views
0

考えられるのは、ゼロのない正の整数だけをチェックすることですが、追加されたカスタムルールは機能しません。ありがとうございました。jqueryの検証プラグインで正の整数(ゼロを含まない)を確認してください

$(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

+0

申し訳ありませんが、どのように定義するのですか? "(^ \ d * \?\ d * [1-9] + \ d * $)|(^ [1-9] + \ d * \。\ d * $)"の正規表現は ですこれは実際には – user782104

+1

です。定義する必要があります。また、正規表現は 'value> 0'を使うことができるときには貧しい選択です。 – alex

答えて

1

あなたの構文はここに正しいことを確認していますか?

return order[] > 0; 
+0

> 0以外にも、[[]が同じではないという順序で要素をチェックできますか?たとえば、{2,2,1,5}は許可されていません。 – user782104

+0

申し訳ありませんが、私は$( "#order []")> 0; user782104

+1

ここでは何をしようとしているのか完全にはわかりません。 ARRAYの順序ですべての要素をループするか、単一の要素を順序づけていますか?あなたがしたいことをすべて説明できますか?それは助けになるかもしれません。 –