ReCaptcha с ZF3 неправильное значение - PullRequest
0 голосов
/ 03 октября 2018

Я использую новейшую Zend Framework, и теперь я хочу использовать ReCaptcha в своей форме.Вместе с некоторыми другими элементами элемент ReCaptcha определяется следующим образом:

$pubKey = 'replaced by the actual pubkey';
$privKey = 'replaced by the actual privkey';
$recaptcha = new \Zend\Captcha\ReCaptcha(['pubKey' => $pubKey, 'privKey' => $privKey]);

$this->add(array(
    'attributes' => array (
        'data-role' => 'none',
    ),
    'name' => 'captcha',
    'type' => 'captcha',
    'options' => array(
        'captcha' => $recaptcha,
    ),
));

Этот код проверяет форму в контроллере:

public function contactAction () {
    $contactForm = new ContactForm();
    if($this->getRequest()->isPost()) {
        $contactForm->setData($this->getRequest()->getPost());

        if($contactForm->isValid()){
            // send actual mail
            return $this->redirect()->toRoute('page', ['lang' => $this->translator->getLocale(), 'page' => 'contact']);
        }
    }
    $viewModel = new ViewModel ([
        'contactForm' => $contactForm
    ]);
    $viewModel->setTemplate('application/index/contact');
    return $viewModel;
}

И, наконец, это представление:

<?= $this->form($contactForm); ?>

Для меня этот код довольно прост и должен работать.Тем не менее, при отправке контактной формы, он отображает сообщение об ошибке «Неправильно указано значение кода».Есть идеи?

1 Ответ

0 голосов
/ 11 октября 2018

Вы должны назвать элемент в соответствии с правилами Google.С этим кодом он работает как бриз

$pubKey = 'replaced by the actual pubkey';
$privKey = 'replaced by the actual privkey';
$recaptcha = new \Zend\Captcha\ReCaptcha(['pubKey' => $pubKey, 'privKey' => $privKey]);

$this->add(array(
    'name' => 'g-recaptcha-response',
    'type' => 'captcha',
    'options' => [
        'captcha' => $recaptcha,
    ]
));

В любом случае, как всегда, документы ZF очень короткие и не содержат примеров.

...