1
我已经继承了一些使用Parsley JS验证的代码,并且我需要设置远程电子邮件检查规则。这是一个两步骤的形式,在成功验证电子邮件部分后,表单的第二部分通过css显示。如何让Parsley远程验证程序等待响应?
我已加入下列属性表单元素;
data-parsley-remote="/members/members_email_check"
data-parsley-remote-message="This email address is already registered"
现有的表单验证调用如下所示;
$('.reg-step-next').on('click touchstart', function (e) {
e.preventDefault();
if ($('form.register-form').parsley().validate($('.reg-step.active').data('parsley-group'))) {
$(this).parents('.reg-step').removeClass('active').next('.reg-step').addClass('active');
}
});
服务器电子邮件检查工作正常 - 拨打电话并按预期返回200/40x代码。
我的问题是验证()调用不是正在等待来自远程验证的响应并立即返回null(指示远程验证是在过程中,我认为),从未进行到下一步骤。
我知道异步范例导致我的问题在这里,但看不到如何设置回调远程验证。当然,我可以创建自己的异步调用香菜之外,但后来我错过了其它香菜利益,必须做一些额外的工作注入错误信息等