<?xml version="1.0" encoding="UTF-8"?>
<!-- EN-Revision: 20212 -->
    <!-- Reviewed: no -->
<sect1 id="zend.form.standardElements">
    <title>Elementos Enviados en el Formulario Estandard de Zend
        Framework</title>

    <para> Zend Framework viene con clases de elementos concretos cubriendo la
        mayoría de los elementos de los formularios <acronym>HTML</acronym> . La
        mayoría simplemente especifica una vista de ayuda para usar cuando se
        decora el elemento, pero varios ofrecen funcionalidad adicional. La
        siguiente es una lista de todas las clases, así como también una
        descripción de la funcionalidad que ofrecen. </para>

    <sect2 id="zend.form.standardElements.button">
        <title>Zend_Form_Element_Button</title>

        <para> Usada para crear elementos <acronym>HTML</acronym> de tipo
            button, <classname>Zend_Form_Element_Button</classname> extiende
                <link linkend="zend.form.standardElements.submit"
                >Zend_Form_Element_Submit</link> , derivandi sy funcionalidad
            personalizada. It specifies the 'formButton' view helper for
            decoration. </para>

        <para>Like the submit element, it uses the element's label as the
            element value for display purposes; in other words, to set the text
            of the button, set the value of the element. The label will be
            translated if a translation adapter is present.</para>

        <para> Because the label is used as part of the element, the button
            element uses only the <link
                linkend="zend.form.standardDecorators.viewHelper"
                >ViewHelper</link> and <link
                linkend="zend.form.standardDecorators.dtDdWrapper"
                >DtDdWrapper</link> decorators. </para>

        <para> Después de llenar o validar un formulario, se puede verificar si
            el botón dado fue pulsado usando el método
                <methodname>isChecked()</methodname> . </para>
    </sect2>

    <sect2 id="zend.form.standardElements.captcha">
        <title>Zend_Form_Element_Captcha</title>

        <para>Los CAPTCHAs son usados para prevenir el envio automático de
            formularios por los robots y otros procesos automatizados.</para>

        <para> The Captcha form element allows you to specify which <link
                linkend="zend.captcha.adapters">Zend_Captcha adapter</link> you
            wish to utilize as a form captcha. It then sets this adapter as a
            validator to the object, and uses a Captcha decorator for rendering
            (which proxies to the CAPTCHA adapter). </para>

        <para> Adapters may be any adapters in
                <classname>Zend_Captcha</classname> , as well as any custom
            adapters you may have defined elsewhere. To allow this, you may pass
            an additional plugin loader type key, 'CAPTCHA' or 'captcha', when
            specifying a plugin loader prefix path: </para>

        <programlisting language="php"><![CDATA[
$element->addPrefixPath('My_Captcha', 'My/Captcha/', 'captcha');
]]></programlisting>

        <para> Los Captcha entonces pueden ser cargados usando el método
                <methodname>setCaptcha()</methodname> , el cual puede tomar una
            instancia cualquiera de CAPTCHA instance, o el nombre corto del
            adaptador captcha: </para>

        <programlisting language="php"><![CDATA[
// instancia concreta:
$element->setCaptcha(new Zend_Captcha_Figlet());

// Usando nombre corto:
$element->setCaptcha('Dumb');
]]></programlisting>

        <para>Si desea cargar sus elementos configuración, especifique la clave
            'captcha' con un array conteniendo la clave 'captcha', o ambas
            claves 'captcha' y 'captchaOptions':</para>

        <programlisting language="php"><![CDATA[
// Usindo la clave captcha simple:
$element = new Zend_Form_Element_Captcha('foo', array(
    'label' => "Please verify you're a human",
    'captcha' => array(
        'captcha' => 'Figlet',
        'wordLen' => 6,
        'timeout' => 300,
    ),
));

// Usindo captcha y captchaOptions:
$element = new Zend_Form_Element_Captcha('foo', array(
    'label' => "Please verify you're a human"
    'captcha' => 'Figlet',
    'captchaOptions' => array(
        'captcha' => 'Figlet',
        'wordLen' => 6,
        'timeout' => 300,
    ),
));
]]></programlisting>

        <para> El decorador usado es determinado consultando el adaptador
            captcha. Por defecto, es usado el <link
                linkend="zend.form.standardDecorators.captcha">Captcha
                decorator</link> , pero un adaptador puede especificar uno
            diferente vía su método <methodname>getDecorator()</methodname> . </para>

        <para>Como ha notado, el adaptador CAPTCHA actúa él mismo como un
            validador para el elemento. Adicionalmente, el validador NotEmpty no
            es usado y el elemento es marcado como requerido. En la mayoría de
            los casos, usted no necesitará hacer nada más para tener un captcha
            presente en su formulario.</para>
    </sect2>

    <sect2 id="zend.form.standardElements.checkbox">
        <title>Zend_Form_Element_Checkbox</title>

        <para> Las casillas de verificación (checkboxes) <acronym>HTML</acronym>
            le permiten devolver un valor específico, pero básicamente funcionan
            como los booleanos: cuando está marcada, el valor es enviado; cuando
            no está marcada, no se envía nada. Internamente,
            Zend_Form_Element_Checkbox fuerza este estado. </para>

        <para> Por defecto, si la casilla (checkbox) está marcada su valor es
            '1', y si no está marcada su valor es '0'. You can specify the
            values to use using the <methodname>setCheckedValue()</methodname>
            and <methodname>setUncheckedValue()</methodname> accessors,
            respectively. Internally, any time you set the value, if the
            provided value matches the checked value, then it is set, but any
            other value causes the unchecked value to be set. </para>

        <para> Additionally, setting the value sets the
                <methodname>checked</methodname> property of the checkbox. You
            can query this using <methodname>isChecked()</methodname> or simply
            accessing the property. Using the
                <methodname>setChecked($flag)</methodname> method will both set
            the state of the flag as well as set the appropriate checked or
            unchecked value in the element. Please use this method when setting
            the checked state of a checkbox element to ensure the value is set
            properly. </para>

        <para>
            <classname>Zend_Form_Element_Checkbox</classname> uses the
            'formCheckbox' view helper. The checked value is always used to
            populate it. </para>
    </sect2>

    <sect2 id="zend.form.standardElements.file">
        <title>Zend_Form_Element_File</title>

        <para> The File form element provides a mechanism for supplying file
            upload fields to your form. It utilizes <link
                linkend="zend.file.transfer.introduction"
                >Zend_File_Transfer</link> internally to provide this
            functionality, and the <methodname>FormFile</methodname> view helper
            as also the <methodname>File</methodname> decorator to display the
            form element. </para>

        <para> By default, it uses the <methodname>Http</methodname> transfer
            adapter, which introspects the <varname>$_FILES</varname> array and
            allows you to attach validators and filters. Validators and filters
            attached to the form element will be attached to the transfer
            adapter. </para>

        <example id="zend.form.standardElements.file.usage">
            <title>File form element usage</title>

            <para>The above explanation of using the File form element may seem
                arcane, but actual usage is relatively trivial:</para>

            <programlisting language="php"><![CDATA[
$element = new Zend_Form_Element_File('foo');
$element->setLabel('Upload an image:')
        ->setDestination('/var/www/upload');
// ensure only 1 file
$element->addValidator('Count', false, 1);
// limit to 100K
$element->addValidator('Size', false, 102400);
// only JPEG, PNG, and GIFs
$element->addValidator('Extension', false, 'jpg,png,gif');
$form->addElement($element, 'foo');
]]></programlisting>

            <para>También debe asegurarse de que se ha provisto un tipo de
                codificación corecto al formulario; se debe utilizar
                'multipart/form-data'. Se puede hacer esto estableciendo el
                atributo 'enctype' en el formulario:</para>

            <programlisting language="php"><![CDATA[
$form->setAttrib('enctype', 'multipart/form-data');
]]></programlisting>

            <para> After the form is validated successfully, you must receive
                the file to store it in the final destination using
                    <methodname>receive()</methodname> . Additionally you can
                determinate the final location using
                    <methodname>getFileName()</methodname> : </para>

            <programlisting language="php"><![CDATA[
if (!$form->isValid) {
    print "Ohoh... validation error";
}

if (!$form->foo->receive()) {
    print "Error receiving the file";
}

$location = $form->foo->getFileName();
]]></programlisting>

        </example>

        <note>
            <title>Ubicaciones Predeterminadas para la Carga de Archivos</title>

            <para>Por defecto, los archivos son cargados al directorio temp del
                sistema.</para>
        </note>

        <note>
            <title>Valores de archivo</title>

            <para> Dentro de <acronym>HTTP</acronym> , un elemento file no tiene
                valor. Por tanto y a causa de razones de seguridad usted solo
                obtendrá el nombre del archivo cargado llamando a getValue() y
                no el destino completo. si usted necesita la información
                completa llame a getFileName() y le devolverá el destino y
                nombre de archivo completo. </para>
        </note>

        <para> Per default the file will automatically be received when you call
                <methodname>getValues()</methodname> on the form. The reason
            behind this behaviour is, that the file itself is the value of the
            file element. </para>

        <programlisting language="php"><![CDATA[
$form->getValues();
]]></programlisting>

        <note>
            <para> Therefor another call of <methodname>receive()</methodname>
                after calling <methodname>getValues()</methodname> will not have
                an effect. Also creating a instance of
                    <classname>Zend_File_Transfer</classname> will not have an
                effect as there no file anymore to receive. </para>
        </note>

        <para> Still, sometimes you may want to call
                <methodname>getValues()</methodname> without receiving the file.
            You can archive this by calling
                <methodname>setValueDisabled(true)</methodname> . To get the
            actual value of this flag you can call
                <methodname>isValueDisabled()</methodname> . </para>

        <example id="zend.form.standardElements.file.retrievement">
            <title>Explicit file retrievement</title>

            <para> First call <methodname>setValueDisabled(true)</methodname> . </para>

            <programlisting language="php"><![CDATA[
$element = new Zend_Form_Element_File('foo');
$element->setLabel('Upload an image:')
        ->setDestination('/var/www/upload')
        ->setValueDisabled(true);
]]></programlisting>

            <para> Now the file will not be received when you call
                    <methodname>getValues()</methodname> . So you must call
                    <methodname>receive()</methodname> on the file element, or
                an instance of <classname>Zend_File_Transfer</classname>
                yourself. </para>

            <programlisting language="php"><![CDATA[
$values = $form->getValues();

if ($form->isValid($form->getPost())) {
    if (!$form->foo->receive()) {
        print "Upload error";
    }
}
]]></programlisting>
        </example>

        <para>There are several states of the uploaded file which can be checked
            with the following methods:</para>

        <itemizedlist>
            <listitem>
                <para>
                    <methodname>isUploaded()</methodname> : Checks if the file
                    element has been uploaded or not. </para>
            </listitem>

            <listitem>
                <para>
                    <methodname>isReceived()</methodname> : Checks if the file
                    element has already been received. </para>
            </listitem>

            <listitem>
                <para>
                    <methodname>isFiltered()</methodname> : Checks if the
                    filters have already been applied to the file element or
                    not. </para>
            </listitem>
        </itemizedlist>

        <example id="zend.form.standardElements.file.isuploaded">
            <title>Checking if an optional file has been uploaded</title>

            <programlisting language="php"><![CDATA[
$element = new Zend_Form_Element_File('foo');
$element->setLabel('Upload an image:')
        ->setDestination('/var/www/upload')
        ->setRequired(false);
$element->addValidator('Size', false, 102400);
$form->addElement($element, 'foo');

// The foo file element is optional but when it's given go into here
if ($form->foo->isUploaded()) {
    // foo file given... do something
}
]]></programlisting>
        </example>

        <para>
            <classname>Zend_Form_Element_File</classname> soporta también
            archivos múltiples. Para llamar el método
                <methodname>setMultiFile($count)</methodname> usted puede
            establecer la cantidad de elementos file que usted desea crear. Esto
            le previene de establecer la misma configuración varias veces. </para>

        <example id="zend.form.standardElements.file.multiusage">
            <title>Configuración de múltiples archivos</title>

            <para> Crear un elemento multi archivo es lo mismo que querer
                configurar un elemento único. Sólo tiene que llamar a
                    <methodname>setMultiFile()</methodname> adicionalmente
                después de la creación: </para>

            <programlisting language="php"><![CDATA[
$element = new Zend_Form_Element_File('foo');
$element->setLabel('Upload an image:')
        ->setDestination('/var/www/upload');
// asegura mínimo 1, maximo 3 archivos
$element->addValidator('Count', false, array('min' => 1, 'max' => 3));
// limita a 100K
$element->addValidator('Size', false, 102400);
// solo JPEG, PNG, y GIFs
$element->addValidator('Extension', false, 'jpg,png,gif');
// define 3 elementos file idénticos
$element->setMultiFile(3);
$form->addElement($element, 'foo');
]]></programlisting>

            <para> En su vista usted ahora obtendrá 3 elementos para carga de
                archivos idénticos los cuales comparten la misma configuración.
                Para obtener el conjunto del número de archivos múltiples
                simplemente llame a <methodname>getMultiFile()</methodname> . </para>

        </example>

        <note>
            <title>Elementos File en Subformularios</title>

            <para>Cuando usted use elementos file en subformularios debería
                establecer nombres únicos. Así, cuando usted nombre su elemento
                file en el subformulario1, debe darle un nombre diferente en el
                subformularios.</para>

            <para>Tan pronto como haya dos elementos file nombrados de forma
                idéntica, el segundo elemento no se mostrará o enviará.</para>

            <para> Additionally, file elements are not rendered within the
                sub-form. So when you add a file element into a subform, then
                the element will be rendered within the main form. </para>
        </note>

        <para> Para limitar el tamaño del archivo, el cual es cargado por el
            cliente, debe establecer el tamaño máximo de archivo que el
            formulario acepta . Esto limitará el tamaño del archivo en el lado
            del cliente configurando la opción
                <constant>MAX_FILE_SIZE</constant> en el formulario. Tan pronto
            como establezca este valor usando el método
                <methodname>setMaxFileSize($size)</methodname> , será generado
            con el elemento file. </para>

        <programlisting language="php"><![CDATA[
$element = new Zend_Form_Element_File('foo');
$element->setLabel('Upload an image:')
        ->setDestination('/var/www/upload')
        ->addValidator('Size', false, 102400) // límite en 100K
        ->setMaxFileSize(102400); // limita el tamaño del archivo en el lado del cliente
$form->addElement($element, 'foo');
]]></programlisting>

        <note>
            <title>MaxFileSize con elementos file múltiples</title>

            <para> Cuando usted usa elementos file múltiples en los formularios
                tiene que establecer el <constant>MAX_FILE_SIZE</constant> una
                sola vez. Establecerlo otra vez sobreescribirá el valor
                previamente establecido. </para>

            <para> Note que usted puede establecer
                    <constant>MAX_FILE_SIZE</constant> una sola vez, incluso si
                usa múltiples formularios. </para>
        </note>
    </sect2>

    <sect2 id="zend.form.standardElements.hidden">
        <title>Zend_Form_Element_Hidden</title>

        <para> Los elementos Hidden simplemente inyectan datos que deben ser
            enviados, pero que el usuario no debe manipular.
                <classname>Zend_Form_Element_Hidden</classname> logra esto a
            través del uso del helper de vista 'formHidden'. </para>
    </sect2>

    <sect2 id="zend.form.standardElements.hash">
        <title>Zend_Form_Element_Hash</title>

        <para>Este elemento provee protección de ataques desde CSRF sobre
            formularios, asegurando que el dato es enviado por la sesión del
            usuario que generó el formulario y no por un script malicioso. La
            protección se logra mediante la adición de un elemento hash a un
            formulario y verificandolo cuando el formulario es enviado.</para>

        <para> El nombre del elemento hash debe ser único. Se recomienda usar la
            opción <literal>salt</literal> para el elemento, dos hashes con el
            mismo nombre y diferentes salts no chocan: </para>

        <programlisting language="php"><![CDATA[
$form->addElement('hash', 'no_csrf_foo', array('salt' => 'unique'));
]]></programlisting>

        <para> Puede establecer el salt más tarde usando el método
                <methodname>setSalt($salt)</methodname> . </para>

        <para> Internamente, el elemento almacena un identificador único usando
                <classname>Zend_Session_Namespace</classname> , y lo comprueba
            en el momento que se envía (comprueba que el TTL no ha espirado). El
            validador 'Identical' entonces es usado para asegurarse que el hash
            enviado marcha con el hash alamacenado. </para>

        <para>El helper de vista 'formHidden' es usado para generar el elemento
            en el formulario. </para>
    </sect2>

    <sect2 id="zend.form.standardElements.Image">
        <title>Zend_Form_Element_Image</title>

        <para>Las imágenes pueden ser usadas como elementos de formulario, y le
            permiten especificar elementos gráficos como botones de
            formulario.</para>

        <para> Los elementos Image necesitan una imagen fuente.
                <classname>Zend_Form_Element_Image</classname> le permite
            especificar esto usando el método de acceso
                <methodname>setImage()</methodname> (o clave de configuración
            'image'). Opcionalmente, también puede especificar un valor para
            utilizar al momento de enviar la imagen utilizando el método de
            acceso <methodname>setImageValue()</methodname> (o clave de
            configuración 'imageValue'). Cuando el valor establecido para el
            elemento sea igual a <methodname>imageValue</methodname> , entonces
            el método de acceso <methodname>isChecked()</methodname> devolverá
                <constant>TRUE</constant> . </para>

        <para> Los elementos Image usan el <link
                linkend="zend.form.standardDecorators.image">Decorador de Imagen
            </link> para generar (así como el estandard Errors, HtmlTag, y
            decorador Label). Opcionalmente, puede especificar una etiqueta para
            el decorador <methodname>Image</methodname> que luego envuelva al
            elemento imagen. </para>
    </sect2>

    <sect2 id="zend.form.standardElements.multiCheckbox">
        <title>Zend_Form_Element_MultiCheckbox</title>

        <para> En ocasiones, se tiene un conjunto de checkboxes, y se desea
            agrupar los resultados. Esto es como un <link
                linkend="zend.form.standardElements.multiselect"
                >Multiselect</link> , pero en lugar de estar en una lista
            desplegable, necesita mostrarlos en pares checkbox/value (casilla de
            verificación/valor). </para>

        <para>
            <classname>Zend_Form_Element_MultiCheckbox</classname> hace esto
            sencillo. Like all other elements extending the base Multi element,
            you can specify a list of options, and easily validate against that
            same list. The 'formMultiCheckbox' view helper ensures that these
            are returned as an array in the form submission. </para>

        <para> Por defecto, este elemnto requiere un validador
                <methodname>InArray</methodname> el cual valida contra el array
            de llaves de las opciones registradas. Se puede desactivar esta
            caracteristica llamando a
                <methodname>setRegisterInArrayValidator(false)</methodname> , o
            pasando un valor <constant>FALSE</constant> a la configuración de llaves
                <methodname>registerInArrayValidator</methodname> . </para>

        <para>Se puede manipular las opciones de checkbox usando los siguinetes
            métodos:</para>

        <itemizedlist>
            <listitem>
                <para>
                    <methodname>addMultiOption($option, $value)</methodname>
                </para>
            </listitem>

            <listitem>
                <para>
                    <methodname>addMultiOptions(array $options)</methodname>
                </para>
            </listitem>

            <listitem>
                <para>
                    <methodname>setMultiOptions(array $options)</methodname>
                    (overwrites existing options) </para>
            </listitem>

            <listitem>
                <para>getMultiOption($option)</para>
            </listitem>

            <listitem>
                <para>getMultiOptions()</para>
            </listitem>

            <listitem>
                <para>
                    <methodname>removeMultiOption($option)</methodname>
                </para>
            </listitem>

            <listitem>
                <para>
                    <methodname>clearMultiOptions()</methodname>
                </para>
            </listitem>
        </itemizedlist>

        <para> Para marcar los valores confirmados, se necesita pasar un array
            de valores a <methodname>setValue()</methodname> . El siguiente
            código verificará los valores "bar" y "bat": </para>

        <programlisting language="php"><![CDATA[
$element = new Zend_Form_Element_MultiCheckbox('foo', array(
    'multiOptions' => array(
        'foo' => 'Foo Option',
        'bar' => 'Bar Option',
        'baz' => 'Baz Option',
        'bat' => 'Bat Option',
    )
));

$element->setValue(array('bar', 'bat'));
]]></programlisting>

        <para>Note que cuando se determina un asimple variable, se debe pasar un
            array.</para>
    </sect2>

    <sect2 id="zend.form.standardElements.multiselect">
        <title>Zend_Form_Element_Multiselect</title>

        <para>
            <acronym>XHTML</acronym>
            <methodname>selector</methodname> de elementos permite 'multiple'
            atributos, indicando multiples opciones pueden ser seleccionados por
            submision, en vez de lo usual.
                <classname>Zend_Form_Element_Multiselect</classname> extiende
                <link linkend="zend.form.standardElements.select"
                >Zend_Form_Element_Select</link> , y define los atributos
                <methodname>multiple</methodname> a 'multiple'. Como las otras
            clases que heredan de la clase base
                <classname>Zend_Form_Element_Multi</classname> , se puede
            manipular las opciones del selector usando: </para>

        <itemizedlist>
            <listitem>
                <para>
                    <methodname>addMultiOption($option, $value)</methodname>
                </para>
            </listitem>

            <listitem>
                <para>
                    <methodname>addMultiOptions(array $options)</methodname>
                </para>
            </listitem>

            <listitem>
                <para>
                    <methodname>setMultiOptions(array $options)</methodname>
                    (overwrites existing options) </para>
            </listitem>

            <listitem>
                <para>getMultiOption($option)</para>
            </listitem>

            <listitem>
                <para>getMultiOptions()</para>
            </listitem>

            <listitem>
                <para>
                    <methodname>removeMultiOption($option)</methodname>
                </para>
            </listitem>

            <listitem>
                <para>
                    <methodname>clearMultiOptions()</methodname>
                </para>
            </listitem>
        </itemizedlist>

        <para>Si un adaptador de tranducción es registrado con el formulario y/o
            elemnto, la opción valores será traducido para propósito de
            despliegue.</para>

        <para> Por defecto, este elemento registra un validador
                <methodname>InArray</methodname> el cual valida contra el array
            de llaves de opciones registradas. se puede deshabilitar esta
            caracteristica llamando a
                <methodname>setRegisterInArrayValidator(false)</methodname> , o
            pasando un valor <constant>FALSE</constant> a la configuracion de llaves
                <methodname>registerInArrayValidator</methodname> . </para>
    </sect2>

    <sect2 id="zend.form.standardElements.password">
        <title>Zend_Form_Element_Password</title>

        <para>Elementos contraseña son basicamente elementos de texto -- excepto
            que tipicamente no se quiera desplegar la contraseña en los mensajes
            de error o del elemnto en si cuando el formulario es re
            desplegado.</para>

        <para>
            <classname>Zend_Form_Element_Password</classname> archiva esto
            llamando <methodname>setObscureValue(true)</methodname> en cada
            validador (asegurando que la contraseña este oculta en mensajes de
            validación de errores), y usando la vista ayuda 'formPassword' (el
            cual no desplega el valor pasado). </para>
    </sect2>

    <sect2 id="zend.form.standardElements.radio">
        <title>Zend_Form_Element_Radio</title>

        <para> elementos de Radio permite especificar muchas opciones, de los
            cuales se necesita retornar un solo valor.
                <classname>Zend_Form_Element_Radio</classname> extiende la clase
            base <classname>Zend_Form_Element_Multi</classname> , permitiendonos
            especificar un numero de opciones, y luego usa la vista ayuda
                <methodname>formRadio</methodname> para desplegar. </para>

        <para> Por defecto, este elemento registra un validador
                <methodname>InArray</methodname> el cual valida contra el array
            de llaves de opciones registradas. se puede deshabilitar esta
            caracteristica llamando a
                <methodname>setRegisterInArrayValidator(false)</methodname> , o
            pasando un valor <constant>FALSE</constant> a la configuracion de llaves
                <methodname>registerInArrayValidator</methodname> .
            configuration key. </para>

        <para>Como todos los elementos se extienden del elemento clase base
            Multi, los siguientes métodos pueden ser usados para manipular las
            opciones de radio desplegadas:</para>

        <itemizedlist>
            <listitem>
                <para>
                    <methodname>addMultiOption($option, $value)</methodname>
                </para>
            </listitem>

            <listitem>
                <para>
                    <methodname>addMultiOptions(array $options)</methodname>
                </para>
            </listitem>

            <listitem>
                <para>
                    <methodname>setMultiOptions(array $options)</methodname>
                    (overwrites existing options) </para>
            </listitem>

            <listitem>
                <para>getMultiOption($option)</para>
            </listitem>

            <listitem>
                <para>getMultiOptions()</para>
            </listitem>

            <listitem>
                <para>
                    <methodname>removeMultiOption($option)</methodname>
                </para>
            </listitem>

            <listitem>
                <para>
                    <methodname>clearMultiOptions()</methodname>
                </para>
            </listitem>
        </itemizedlist>
    </sect2>

    <sect2 id="zend.form.standardElements.reset">
        <title>Zend_Form_Element_Reset</title>

        <para>Botones Reset son tipicamente usados para limpiar un formulario, y
            no son parte de la información sometida. Como sea, como ellos sirven
            como propósito en el despliegue, son incluidos en los elementos
            estándar.</para>

        <para>
            <classname>Zend_Form_Element_Reset</classname> extends <link
                linkend="zend.form.standardElements.submit"
                >Zend_Form_Element_Submit</link> . Tal cual, la etiqueta es
            usada para desplegar el botón y será traducido si el adaptador
            traducción esta presente. Se utiliza sólo los decoradores
            'ViewHelper' y 'DtDdWrapper', nunca debería existir mensajes de
            error para tales elementos, no se necesitará una etiqueta. </para>
    </sect2>

    <sect2 id="zend.form.standardElements.select">
        <title>Zend_Form_Element_Select</title>

        <para> Cajas selectoras son una manera común de limitar espeficias
            opciones para un dado formulario datum.
                <classname>Zend_Form_Element_Select</classname> le permite
            generar esto rápido y fácil. </para>

        <para> Por defecto, este elemento registra un validador
                <methodname>InArray</methodname> el cual valida contra el array
            de llaves de opciones registradas. se puede deshabilitar esta
            caracteristica llamando a
                <methodname>setRegisterInArrayValidator(false)</methodname> , o
            pasando un valor <constant>FALSE</constant> a la configuracion de llaves
                <methodname>registerInArrayValidator</methodname> .
            configuration key. </para>

        <para>Como se extiende el elemento base Multi, los siguientes métodos
            pueden ser usados para manipular las opciones seleccionadas:</para>

        <itemizedlist>
            <listitem>
                <para>
                    <methodname>addMultiOption($option, $value)</methodname>
                </para>
            </listitem>

            <listitem>
                <para>
                    <methodname>addMultiOptions(array $options)</methodname>
                </para>
            </listitem>

            <listitem>
                <para>
                    <methodname>setMultiOptions(array $options)</methodname>
                    (overwrites existing options) </para>
            </listitem>

            <listitem>
                <para>getMultiOption($option)</para>
            </listitem>

            <listitem>
                <para>getMultiOptions()</para>
            </listitem>

            <listitem>
                <para>
                    <methodname>removeMultiOption($option)</methodname>
                </para>
            </listitem>

            <listitem>
                <para>
                    <methodname>clearMultiOptions()</methodname>
                </para>
            </listitem>
        </itemizedlist>

        <para>
            <classname>Zend_Form_Element_Select</classname> usa la vista ayuda
            'formSelect' para decoración. </para>
    </sect2>

    <sect2 id="zend.form.standardElements.submit">
        <title>Zend_Form_Element_Submit</title>

        <para> Submit buttons are used to submit a form. You may use multiple
            submit buttons; you can use the button used to submit the form to
            decide what action to take with the data submitted.
                <classname>Zend_Form_Element_Submit</classname> makes this
            decisioning easy, by adding a <methodname>isChecked()</methodname>
            method; as only one button element will be submitted by the form,
            after populating or validating the form, you can call this method on
            each submit button to determine which one was used. </para>

        <para>
            <classname>Zend_Form_Element_Submit</classname> usa la etiqueta como
            el "valor" del botón sometido, traduciendolo si el adaptador
            traducción esta presente. <methodname>isChecked()</methodname>
            verifica el valor sometido contra la etiqueta en orden to determinar
            si el botón ha sido usado. </para>

        <para> El <link linkend="zend.form.standardDecorators.viewHelper"
                >ViewHelper</link> y <link
                linkend="zend.form.standardDecorators.dtDdWrapper"
                >DtDdWrapper</link> decoradores generan al elemento. no
            decorador de etiquetas es usado, como el botón etiqueta es usado
            cuando se generan los elementos; asi tipicamente, no se asociarán
            errores con el elemnto sometido. </para>
    </sect2>

    <sect2 id="zend.form.standardElements.text">
        <title>Zend_Form_Element_Text</title>

        <para> Lejos el mas prevaleciente tipo de formulario es el elemento
            texto, permitido para entrada de texto limitado; es un elemento
            ideal para la entrada de la información.
                <classname>Zend_Form_Element_Text</classname> simplemente usa la
            vista ayuda 'formText' para desplegar el elemento. </para>
    </sect2>

    <sect2 id="zend.form.standardElements.textarea">
        <title>Zend_Form_Element_Textarea</title>

        <para> Textareas son usadas cuando se espera una larga cantidad de texto
            y no limites en la cantidad de texto sometido ( otro que el máximo
            tamaño tomado por su servidor or <acronym>PHP</acronym> ).
                <classname>Zend_Form_Element_Textarea</classname> usa la vista
            ayuda 'textArea' para desplegar tales elementos, ocupando el valor
            como el contendio del elemento. </para>
    </sect2>
</sect1>
