2013-01-31 12 views
5

jquery validateプラグインを使用して、デフォルトの動作を上書きしようとしています。これは私のhtmlの例である:Jquery validate pluginラベルにエラークラスを追加する方法

<table> 
<tr> 
    <td> 
    <label for="my-input>Name</label> 
    </td> 
</tr> 
<tr> 
    <td> 
    <input type="text" class="required" id="my-input /> 
    </td> 
</tr> 
</table> 

私はvaladateがしたいすべてが既存のラベルにクラス.ERRORを追加し、フィールドが検証に合格後、それを削除しています。

ありがとうございました。

答えて

12

これがデフォルトの動作です。ページに表示されるエラーメッセージを停止するだけで済みます。あなたはerrorPlacement

$('form').validate({ 
errorPlacement: function() { } 
}); 

EDITをオーバーライドすることによってこれを行うことができます。

は申し訳ありません、質問のビット読み違える - 作品以下のコードをしかし、上記のコードは、上のoptions docs

+0

スポットにハイライトの例から来ているのより良い方法

$('form').validate({ // make sure error message isn't displayed errorPlacement: function() { }, // set the errorClass as a random string to prevent label disappearing when valid errorClass : "bob", // use highlight and unhighlight highlight: function (element, errorClass, validClass) { $(element.form).find("label[for=" + element.id + "]") .addClass("error"); }, unhighlight: function (element, errorClass, validClass) { $(element.form).find("label[for=" + element.id + "]") .removeClass("error"); } }); 

はおそらくあります。どうもありがとう....!!!!! –

2
errorElement: "label", 
errorPlacement: function(error, element) { 
    error.insertBefore(element.parent().children("br")); 
}, 
highlight: function(element) { 
    $(element).parent().addClass("error"); 
}, 
unhighlight: function(element) { 
    $(element).parent().removeClass("error"); 
}