У меня похожая проблема с этим парнем:
Как интегрировать reCaptcha от Google в aldeed: автоформ (метеор)
Я попробовал предложенное там решение, но оно не сработало.
На моем contact.js:
AutoForm.hooks({
App_kontakt: {
onSubmit: function (formData, recaptchaResponse) {
var formData = {
//get the data from your form fields
};
//get the captcha data
var recaptchaResponse = grecaptcha.getResponse();
Meteor.call('formSubmissionMethod', formData, recaptchaResponse, function(error, result) {
if (result && result.success === false) {
//CAPTCHA failed
Modal.show('recaptcha');
}
return false;
});
На моем main.js (на стороне сервера)
Meteor.methods({
formSubmissionMethod: function(formData, captchaData) {
var verifyCaptchaResponse = reCAPTCHA.verifyCaptcha(this.connection.clientAddress, captchaData);
if (!verifyCaptchaResponse.success) {
console.log('reCAPTCHA check failed!', verifyCaptchaResponse);
throw new Meteor.Error(422, 'reCAPTCHA Failed: ' + verifyCaptchaResponse.error);
} else
console.log('reCAPTCHA verification passed!');
//do stuff with your formData
return true;
},
sendEmail: function(doc) {
// Build the e-mail text
var text = "Name: " + doc.name + "\n\n"
+ "E-Mail: " + doc.email + "\n\n\n\n"
+ "Telefonnummer: " + doc.phone + "\n\n"
+ doc.message;
this.unblock();
// Send the e-mail
//Email.send({
// to: "....",
// from: doc.email,
// subject: "Neue Nachricht von: " + doc.name,
// text: text
// });
//
console.log('SENT!!!');
}
});
Я просто не могу найти решение ... Я могу решить reCaptcha, но это не имеет значения, если я или нет. Форма отправит в любом случае ...
Так как другой поток был с 2015 года, я просто создам другой.