jQuery 検証プラグインを使用しており、プラグインが有効または無効な入力を検出したときに独自のコードを実行したいと考えています。
必要な2 つ.validate()のオプションはsuccessとshowErrorsであり、両方を単独で動作させることができることがわかりました。
var validator = $('#form').validate({
  rules: {
    name: "required",
    email: {
      required: true,
      email: true
    }
  },
success: function() {
  console.log('success');
}
success有効な入力が行われるたびにログに記録します。また、showErrors正しく動作します:
var validator = $('#form').validate({
  rules: {
    name: "required",
    email: {
      required: true,
      email: true
    }
  },
showErrors: function() {
  console.log('error');
}
しかし、2つを結合しようとするとerror、入力が有効かどうかに関係なく毎回ログに記録されます:
var validator = $('#form').validate({
  rules: {
    name: "required",
    email: {
      required: true,
      email: true
    }
  },
success: function() {
  console.log('success');
},
showErrors: function() {
  console.log('error');
}
オプションの順序は影響しません。
2 つのオプションが連携しない理由と、有効な入力と無効な入力に対して独自の関数を実行する方法を知っている人はいますか?