2016-10-21 4 views
0

jQuery Validateプラグインを使用してフォームを検証し、フォームフィールドが無効として返されたときに検出する方法が必要です。私はそれが無効を返すフィールドをフォームにいくつかのより多くのHTMLをプッシュしたいと思います。私はフィールドが "success:"メソッドで有効であるときに成功の目盛りを押すことができますが、フィールドが無効なときに正しい方法を見つけることができません。jQueryエラーイベントの検証

+0

私はあなたの質問を理解しましたが、同様の問題を抱える今後の読者も助けになるように、関連するコードを表示しておく必要があります。 – Sparky

+0

無効なイベントで何をしようとしているのかわかりません...成功の目盛りを削除しようとしていますか? – Sparky

答えて

0

無効な値を返すときに、フォームフィールドにもう少しHTMLをプッシュしたいと思います。

the highlight and unhighlight functionsを使用してください。これらは通常、要素上のerrorクラスとvalidクラスを切り替えるために使用されます。関数のデフォルト部分をそのまま使用している限り、これらの関数にカスタムコードを追加することができます。

フィールドが無効な場合に検出する正しい方法を見つけることができません。

highlightフィールドが無効な場合に発生します。

// FIRES WHEN INVALID 
highlight: function(element, errorClass, validClass) { 
    if (element.type === "radio") { 
     this.findByName(element.name).addClass(errorClass).removeClass(validClass); 
    } else { 
     $(element).addClass(errorClass).removeClass(validClass); 
    } 
    // your custom code here - field is INVALID 
}, 
// FIRES WHEN VALID 
unhighlight: function(element, errorClass, validClass) { 
    if (element.type === "radio") { 
     this.findByName(element.name).removeClass(errorClass).addClass(validClass); 
    } else { 
     $(element).removeClass(errorClass).addClass(validClass); 
    } 
    // your custom code here - field is VALID 
} 

もちろん、デフォルトコードを変更することもできますが、クラスが正しく切り替えられないことがあります。検証されるフォームフィールドを表すelement引数を利用します。フィールドが「成功」に有効なものとして返すとき、私は成功の目盛りをプッシュすることができる午前

あなたが「無効」のhighlightを使用することがありますので、この方法

、あなたはunhighlight代わりのsuccess使用する必要がありますそれは "有効"です。 (これで目盛りはsuccessにすることができます)。

サイドノート:通常のエラーlabelオブジェクトには、successの目盛りが表示されていますので、通常はエラーイベントを使用して削除する必要はありません。新しいエラーが発生すると自動的に削除されます。