欧芹表单在首次提交时始终未通过验证

时间:2014-06-27 13:11:51

标签: jquery forms validation parsley.js

我有一张表格,我试图用这样的方式验证Parsley:

$('form#captainRegistrationForm').on('submit', function() {
  var $this;
  $this = $(this);
  if ($this.parsley('validate')) {
    console.log('yes');
  } else {
    console.log('no');
  }
  return false;
});

意外行为:

首次提交时,控制台始终返回no(无论表单是否有效)。在第二次提交时,它返回yes(如果表格有效)。

第二次提交后,我故意使表单错误,但在第三次提交时,控制台返回yes。只有在我再次按下提交后,它才会返回no

有没有可靠的方法来验证Parsley的表格?我使用的是Parsley 2.0.2版

1 个答案:

答案 0 :(得分:1)

这是一种迟到的习惯。

但是,在提交之前,您没有将欧芹绑定到表单。你应该这样做:

// bind parsley to form
$('form#captainRegistrationForm').parsley();

// on form submit, validate the form
$('form#captainRegistrationForm').on('submit', function(e) {
    var $this;
    $this = $(this);
    if ($this.parsley('validate')) {
        console.log('yes');
    } else {
        console.log('no');
    }

    e.preventDefault();
    return false;
});

假设表单存在,您应该没有问题。