这是一个指导如何将 jQuery 表单验证与 reCAPTCHA 结合使用的教程。 http://snipplr.com/view/15563/jquery-validating-recaptcha-with-ajax/
根据我的理解,上面的教程实际上是通过与服务器 reCAPTCHA 脚本通信的 aJax 进行客户端验证。
验证成功后,我使用以下从注释中借用的代码:
$('#formID').validate({
submitHandler: function(form) {
if(validateCaptcha()){ // Submit form
offerForm.ajaxSubmit(); } } });
提交表单,请参阅原始代码的第 21 行:
$("form").attr("action", "http://action/to/the/form_handler.php");
我的问题是我是否必须在 form_handler.php 中调用 recaptcha_check_answer 并传入参数
challengeField = $("input#recaptcha_challenge_field").val();
responseField = $("input#recaptcha_response_field").val();
如果没有,那么人们可以通过更改验证程序轻松避免 reCAPTCHA。似乎我们总是要同时进行客户端+服务器验证的想法相同。
如果我误解了,请纠正我的想法。
// 提供我遇到的问题的详细信息 ///
<code>
<form id="regFormBody" method="post" action="verify.php">
...
</code>
$("#regFormBody").validate({
debug: true,
errorPlacement: function (error, element) {
error.insertAfter(element.parents('div.collection:first'));
},
rules: {
loginemail: { required: true, email: true, rangelength: [4, 32] },
password: { required: true, rangelength: [8, 30], passwordPattern: true },
confirmpassword: { required: true, rangelength: [8, 30], equalTo: "#password" }
}
}
});
这是我遇到的问题:如果表单通过了客户端验证,那么它根本不会触发 verify.php 并在验证后停止。谢谢你