/docs/languages/en/modules/zend.form.element.email.rst
ReStructuredText | 94 lines | 66 code | 28 blank | 0 comment | 0 complexity | 57f954ea7efff18568b464d6301f9aeb MD5 | raw file
Possible License(s): BSD-3-Clause
- .. _zend.form.element.email:
- Email Element
- ^^^^^^^^^^^^^
- ``Zend\Form\Element\Email`` is meant to be paired with the ``Zend\Form\View\Helper\FormEmail`` for `HTML5 inputs with
- type email`_. This element adds filters and validators to it's input filter specification in order to validate
- `HTML5 valid email address`_ on the server.
- .. _zend.form.element.email.usage:
- Basic Usage
- """""""""""
- This element automatically adds a ``"type"`` attribute of value ``"email"``.
- .. code-block:: php
- :linenos:
- use Zend\Form\Element;
- use Zend\Form\Form;
- $form = new Form('my-form');
- // Single email address
- $email = new Element\Email('email');
- $email->setLabel('Email Address')
- $form->add($email);
- // Comma separated list of emails
- $emails = new Element\Email('emails');
- $emails
- ->setLabel('Email Addresses')
- ->setAttribute('multiple', true);
- $form->add($emails);
- Here is with the array notation:
- .. code-block:: php
- :linenos:
- use Zend\Form\Form;
- $form = new Form('my-form');
- $form->add(array(
- 'type' => 'Zend\Form\Element\Email',
- 'name' => 'email',
- 'options' => array(
- 'label' => 'Email Address'
- ),
- ));
-
- $form->add(array(
- 'type' => 'Zend\Form\Element\Email',
- 'name' => 'emails',
- 'options' => array(
- 'label' => 'Email Addresses'
- ),
- 'attributes' => array(
- 'multiple' => true
- )
- ));
-
- .. note::
- Note: the ``multiple`` attribute should be set prior to calling Zend\\Form::prepare(). Otherwise, the default
- input specification for the element may not contain the correct validation rules.
- .. _zend.form.element.email.methods:
- Public Methods
- """"""""""""""
- The following methods are in addition to the inherited :ref:`methods of Zend\\Form\\Element
- <zend.form.element.methods>`.
- .. function:: getInputSpecification()
- :noindex:
- Returns a input filter specification, which includes a ``Zend\Filter\StringTrim`` filter, and a validator based
- on the ``multiple`` attribute.
- If the ``multiple`` attribute is unset or false, a ``Zend\Validator\Regex`` validator will be added to validate
- a single email address.
- If the ``multiple`` attribute is true, a ``Zend\Validator\Explode`` validator will be added to ensure the input
- string value is split by commas before validating each email address with ``Zend\Validator\Regex``.
- :rtype: array
- .. _`HTML5 inputs with type email`: http://www.whatwg.org/specs/web-apps/current-work/multipage/states-of-the-type-attribute.html#e-mail-state-(type=email)
- .. _`HTML5 valid email address`: http://www.whatwg.org/specs/web-apps/current-work/multipage/states-of-the-type-attribute.html#valid-e-mail-address