Elements
In This Article
Captcha
Zend\Form\Element\Captcha
can be used with forms where authenticated users are
not necessary, but you want to prevent spam submissions. It is paired with one
of the Zend\Form\View\Helper\Captcha\*
view helpers that matches the type of
CAPTCHA adapter in use.
Basic Usage
A CAPTCHA adapter must be attached in order for validation to be included in the element's input filter specification. See the zend-captcha documentation for more information on what adapters are available.
use Zend\Captcha;
use Zend\Form\Element;
use Zend\Form\Form;
$captcha = new Element\Captcha('captcha');
$captcha->setCaptcha(new Captcha\Dumb());
$captcha->setLabel('Please verify you are human');
$form = new Form('my-form');
$form->add($captcha);
Here is an example using array notation:
use Zend\Captcha;
use Zend\Form\Form;
$form = new Form('my-form');
$form->add([
'type' => 'Zend\Form\Element\Captcha',
'name' => 'captcha',
'options' => [
'label' => 'Please verify you are human',
'captcha' => new Captcha\Dumb(),
],
]);
Public Methods
The following methods are specific to the Captcha
element; all other methods
defined by the parent Element
class are also
available.
Method signature | Description |
---|---|
setCaptcha(array|Zend\Captcha\AdapterInterface $captcha) : void |
Set the CAPTCHA adapter for this element. If $captcha is an array, Zend\Captcha\Factory::factory() will be run to create the adapter from the array configuration. |
getCaptcha() : Zend\Captcha\AdapterInterface |
Return the CAPTCHA adapter for this element. |
getInputSpecification() : array |
Returns a input filter specification, which includes a Zend\Filter\StringTrim filter, and a CAPTCHA validator. |
Found a mistake or want to contribute to the documentation? Edit this page on GitHub!