【问题标题】:Parsley form always fails validation on first submitParsley 表单在第一次提交时总是无法通过验证
【发布时间】:2014-06-27 13:11:51
【问题描述】:

我有一个表单,我正尝试使用 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 版

【问题讨论】:

    标签: jquery forms validation parsley.js


    【解决方案1】:

    这是一种迟到的反应。

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

    // 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;
    });
    

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

    【讨论】:

    • 有点晚了,我还没有说这已经解决了,用if ($this.parsley().validate())解决我的问题(这甚至在我提交时也有效,但我必须注入data-parsley-validate html)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-28
    • 2010-10-07
    • 2017-05-16
    • 1970-01-01
    相关资源
    最近更新 更多