2017-03-24 3 views
0

ドロップダウンの値に基づいて入力の長さを検証しようとしています。私はminlengthに依存することを追加するときにそれを動作させることはできませんが、固定値で動作します。これは動作します:Jquery minlengthを有効にすると発火しない依存する

CardNumber: { 
    required: { 
    depends: function(element){ 
     return $('input[name=PaySelect]:checked').val() == "0"; 
    } 
    }, 
    minlength: 14 
}, 

しかし、これはしていません:

CardNumber: { 
    required: { 
    depends: function(element){ 
     return $('input[name=PaySelect]:checked').val() == "0"; 
    } 
    }, 
    minlength: { 
    depends: function(element){ 
     var paymeth = $('select[name="PayMethod"]').val(); 
     if (paymeth == 'American Express') { 
     return 14; 
     } else { 
     return 16; 
     } 
    } 
    } 
}, 

私は警告を入れた場合は();私はコード発射を見ることができますが、ページ上では入力が短すぎることをユーザーに警告することはなく、ページを進めることができます。私は間違って何をしていますか?あなたのような、MINLENGTHが必要な文字の最小数を返すように、あなたが直接あなたの条件をチェックして、直接、適切な数を返すことができ、minlengthプロパティからdependsを削除する必要が

答えて

0

... 
minlength: function() { 
    var paymeth = $('select[name="PayMethod"]').val(); 
    if (paymeth == 'American Express') { 
     return 14; 
    } else { 
     return 16; 
    } 
} 
+0

恐ろしいあなたは夢のように動作しますありがとう – chilluk

関連する問題