2016-10-04 11 views
0

これは私のヘルパー機能にぶつからない理由を誰かに説明できますか?必ずそれは、構文のことだか、何...jQueryカスタムメソッドが正しく動作していないことを確認してください

jQuery.validator.addMethod("expDateExistInPast", function (value) { 
    return customFunction(value); 
}, "Expiration cannot exist in past."); 

$("form[name='myForm']").validate({ 
rules: { 
    exp: {expDateExistInPast: true} 
}, 
messages: { 
    exp: { 
     required: "message", 
     expDateExistInPast: "otherMsg" 
    } 
}, 
    submitHandler: function (form) { 
     form.submit(); 
    } 
}) 


function customFunction(value) { 
    alert("magic here"); 
} 

UPDATE場合ではない - の追加HTML

<input class="myClass" type="text" name="expiration" id="exp" maxlength="4" pattern="^(0[1-9]|1[0-2])[0-9][0-9]$" required="" placeholder="MMYY" aria-required="true" aria-invalid="true"> 
+0

あなたは私たちに、関連するHTMLを表示する必要があります、なぜならあなたのOPのすべてが完璧に私のために働いています:http://jsfiddle.net/se4dc18h/ – Sparky

+0

は上記のHTMLを追加しました。これに関するちょっとした情報ですが、ユーザーからのMMYY日付の値を期待しています。したがって、正規表現。 –

答えて

0

あなたinputname="expiration" ...

<input class="myClass" type="text" name="expiration" id="exp" maxlength="4" pattern="^(0[1-9]|1[0-2])[0-9][0-9]$" required="" placeholder="MMYY" aria-required="true" aria-invalid="true"> 

が含まれているが、問題がありますあなたの.validate()メソッドがrulesオブジェクト内にexpを使用しています...

rules: { 
    exp: { 
     expDateExistInPast: true 
    } 
}, 

あなた必見ここでしかname属性を使用して...

rules: { 
    expiration: { // <- this is the NAME of the input 
     expDateExistInPast: true 
    } 
}, 

ワーキング:jsfiddle.net/se4dc18h/

+0

あなたは奇跡の労働者です。ありがとう。これは私の問題を解決しました。 –

関連する問題