Я использую новейшую 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); ?>
Для меня этот код довольно прост и должен работать.Тем не менее, при отправке контактной формы, он отображает сообщение об ошибке «Неправильно указано значение кода».Есть идеи?