Jquery 欧芹表单在第一次提交时总是无法验证
我有一个表格,我正试图用欧芹验证它,如下所示:Jquery 欧芹表单在第一次提交时总是无法验证,jquery,forms,validation,parsley.js,Jquery,Forms,Validation,Parsley.js,我有一个表格,我正试图用欧芹验证它,如下所示: $('form#captainRegistrationForm').on('submit', function() { var $this; $this = $(this); if ($this.parsley('validate')) { console.log('yes'); } else { console.log('no'); } return false; }); // bind parsley
$('form#captainRegistrationForm').on('submit', function() {
var $this;
$this = $(this);
if ($this.parsley('validate')) {
console.log('yes');
} else {
console.log('no');
}
return false;
});
// 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;
});
意外行为:
在第一次提交时,控制台总是返回no
(无论表单是否有效)。第二次提交时,它返回yes
(如果表单有效)
在第二次提交后,我故意将表单弄错,但在第三次提交时,控制台返回yes
。只有在我再次按下submit后,它才会返回no
有没有可靠的方法用欧芹来验证表格?我用的是欧芹2.0.2版,有点迟了 但是,在提交之前,您没有将欧芹绑定到表单。你应该这样做:
$('form#captainRegistrationForm').on('submit', function() {
var $this;
$this = $(this);
if ($this.parsley('validate')) {
console.log('yes');
} else {
console.log('no');
}
return false;
});
// 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())
解决了我的问题(即使我在提交时这样做,但我必须在html上插入数据parsley validate
)