2016-08-12 9 views
1

jQuery Validateプラグインを使用しており、errorPlacementおよびsuccessコールバックを使用して、ブートストラップクラスhas-errorを追加および削除しようとしています。jQueryコールバックを使用してクラスを追加および削除する

現在、errorPlacementコールバックが機能しますが、successコールバックはエラーラベル(私が使用していない)を返すので、何をすべきかわかりません。 successで私の入力に再度アクセスする必要がありますが、私はそれを行う方法がわかりません。

$('#msform').validate({ 
    submitHandler: function (form) { 
     alert('valid form submitted'); 
     return false; // for demo 
    }, 
    errorPlacement: function(error, element) { 
     $(element).parent().addClass('has-error'); 
     $(element).css('border-color', '#a94442'); 
    }, 
    success: function(label) { 
     label.removeClass('has-error').text('ok'); 
    }, 
    invalidHandler: function(event, validator) { 
     var errors = validator.numberOfInvalids(); 
    } 
}); 

誰でも手助けできますか?ありがとう。

編集:

私はcombining custom error placement with success is not working jquery validate pluginを経由してハイライトとハイライトを消しを使用するべきだと思います。

答えて

1

私は尋ねた後すぐに答えを見つけました。間違ったコールバックを使用していました。このタイプの欲求には、highlightunhighlightを使用する必要があります。しかし何らかの理由で追加ラベルが必要ない場合は、errorPlacementも定義する必要があります。

$('#msform').validate({ 
    errorPlacement: function() {}, 
    highlight: function(element) { 
     $(element).parent().addClass('has-error'); 
     $(element).css('border-color', '#a94442'); 
    }, 
    unhighlight: function(element) { 
     $(element).parent().removeClass('has-error'); 
     $(element).css('border-color', ''); 
    }, 
    submitHandler: function (form) { 
     alert('valid form submitted'); 
     return false; // for demo 
    }, 
    invalidHandler: function(event, validator) { 
     var errors = validator.numberOfInvalids(); 
    } 
}); 
関連する問題