Parsley 在初始验证调用后阻止 keydown 验证

Parlsey prevent keydown validation after initial validation call

我正在使用 Parlsey 验证表单,如下所示:

$(document).on("click", ".submit-form-btn", function(e) {
  $(".form-class").off().submit(function(e) {
    e.preventDefault();
    $(this).parsley().validate();
    if ($(this).parsley().isValid()) {
      //Do something
    }
  });
});

初始验证后,验证检查似乎在每次 "keydown" 按下时调用。当我的“.submit-form-b​​tn”被再次点击时,我如何才能再次验证?我只想在点击时进行验证检查。

您可以通过添加值为 submitdata-parsley-trigger-after-failure 属性来实现此目的。这将确保只有提交才会触发进一步的验证。您可以将其添加到单个字段(使某些字段在输入时继续验证,而其他字段仅在提交时验证),或添加到整个表单(以在所有地方指定仅提交验证):

<form id="form" data-parsley-trigger-after-failure="submit">

或:

<input type="text" required data-parsley-trigger-after-failure="submit">

Here's a Codepen example.