Zend_Form-StandardElements.xml 34 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- EN-Revision: 15103 -->
  3. <!-- Reviewed: no -->
  4. <sect1 id="zend.form.standardElements">
  5. <title>Elementos Enviados en el Formulario Estandard de Zend Framework</title>
  6. <para> Zend Framework viene con clases de elementos concretos cubriendo la mayoría de los
  7. elementos de los formularios HTML. La mayoría simplemente especifica una vista de ayuda para
  8. usar cuando se decora el elemento, pero varios ofrecen funcionalidad adicional. La siguiente
  9. es una lista de todas las clases, así como también una descripción de la funcionalidad que
  10. ofrecen. </para>
  11. <sect2 id="zend.form.standardElements.button">
  12. <title>Zend_Form_Element_Button</title>
  13. <para> Usada para crear elementos HTML de tipo button,
  14. <classname>Zend_Form_Element_Button</classname> extiende <link
  15. linkend="zend.form.standardElements.submit">Zend_Form_Element_Submit</link>,
  16. derivandi sy funcionalidad personalizada. It specifies the 'formButton' view helper for
  17. decoration. </para>
  18. <para> Like the submit element, it uses the element's label as the element value for display
  19. purposes; in other words, to set the text of the button, set the value of the element.
  20. The label will be translated if a translation adapter is present. </para>
  21. <para> Because the label is used as part of the element, the button element uses only the
  22. <link linkend="zend.form.standardDecorators.viewHelper">ViewHelper</link> and <link
  23. linkend="zend.form.standardDecorators.dtDdWrapper">DtDdWrapper</link> decorators. </para>
  24. <para> Después de llenar o validar un formulario, se puede verificar si el botón dado fue
  25. pulsado usando el método <methodname>isChecked()</methodname>. </para>
  26. </sect2>
  27. <sect2 id="zend.form.standardElements.captcha">
  28. <title>Zend_Form_Element_Captcha</title>
  29. <para> Los CAPTCHAs son usados para prevenir el envio automático de formularios por los
  30. robots y otros procesos automatizados. </para>
  31. <para> The Captcha form element allows you to specify which <link
  32. linkend="zend.captcha.adapters">Zend_Captcha adapter</link> you wish to utilize as a
  33. form captcha. It then sets this adapter as a validator to the object, and uses a Captcha
  34. decorator for rendering (which proxies to the CAPTCHA adapter). </para>
  35. <para> Adapters may be any adapters in <classname>Zend_Captcha</classname>, as well as any
  36. custom adapters you may have defined elsewhere. To allow this, you may pass an
  37. additional plugin loader type key, 'CAPTCHA' or 'captcha', when specifying a plugin
  38. loader prefix path: </para>
  39. <programlisting language="php"><![CDATA[
  40. $element->addPrefixPath('My_Captcha', 'My/Captcha/', 'captcha');
  41. ]]></programlisting>
  42. <para> Los Captcha entonces pueden ser cargados usando el método
  43. <methodname>setCaptcha()</methodname>, el cual puede tomar una instancia cualquiera
  44. de CAPTCHA instance, o el nombre corto del adaptador captcha: </para>
  45. <programlisting language="php"><![CDATA[
  46. // instancia concreta:
  47. $element->setCaptcha(new Zend_Captcha_Figlet());
  48. // Usando nombre corto:
  49. $element->setCaptcha('Dumb');
  50. ]]></programlisting>
  51. <para> Si desea cargar sus elementos configuración, especifique la clave 'captcha' con un
  52. array conteniendo la clave 'captcha', o ambas claves 'captcha' y 'captchaOptions': </para>
  53. <programlisting language="php"><![CDATA[
  54. // Usindo la clave captcha simple:
  55. $element = new Zend_Form_Element_Captcha('foo', array(
  56. 'label' => "Please verify you're a human",
  57. 'captcha' => array(
  58. 'captcha' => 'Figlet',
  59. 'wordLen' => 6,
  60. 'timeout' => 300,
  61. ),
  62. ));
  63. // Usindo captcha y captchaOptions:
  64. $element = new Zend_Form_Element_Captcha('foo', array(
  65. 'label' => "Please verify you're a human"
  66. 'captcha' => 'Figlet',
  67. 'captchaOptions' => array(
  68. 'captcha' => 'Figlet',
  69. 'wordLen' => 6,
  70. 'timeout' => 300,
  71. ),
  72. ));
  73. ]]></programlisting>
  74. <para> El decorador usado es determinado consultando el adaptador captcha. Por defecto, es
  75. usado el <link linkend="zend.form.standardDecorators.captcha">Captcha decorator</link>,
  76. pero un adaptador puede especificar uno diferente vía su
  77. método<methodname>getDecorator()</methodname>. </para>
  78. <para> Como ha notado, el adaptador CAPTCHA actúa él mismo como un validador para el
  79. elemento. Adicionalmente, el validador NotEmpty no es usado y el elemento es marcado
  80. como requerido. En la mayoría de los casos, usted no necesitará hacer nada más para
  81. tener un captcha presente en su formulario. </para>
  82. </sect2>
  83. <sect2 id="zend.form.standardElements.checkbox">
  84. <title>Zend_Form_Element_Checkbox</title>
  85. <para> Las casillas de verificación (checkboxes) HTML le permiten devolver un valor
  86. específico, pero básicamente funcionan como los booleanos: cuando está marcada, el valor
  87. es enviado; cuando no está marcada, no se envía nada. Internamente,
  88. Zend_Form_Element_Checkbox fuerza este estado. </para>
  89. <para> Por defecto, si la casilla (checkbox) está marcada su valor es '1', y si no está
  90. marcada su valor es '0'. You can specify the values to use using the
  91. <methodname>setCheckedValue()</methodname> and
  92. <methodname>setUncheckedValue()</methodname> accessors, respectively. Internally,
  93. any time you set the value, if the provided value matches the checked value, then it is
  94. set, but any other value causes the unchecked value to be set. </para>
  95. <para> Additionally, setting the value sets the <methodname>checked</methodname> property of
  96. the checkbox. You can query this using <methodname>isChecked()</methodname> or simply
  97. accessing the property. Using the <methodname>setChecked($flag)</methodname> method will
  98. both set the state of the flag as well as set the appropriate checked or unchecked value
  99. in the element. Please use this method when setting the checked state of a checkbox
  100. element to ensure the value is set properly. </para>
  101. <para>
  102. <classname>Zend_Form_Element_Checkbox</classname> uses the 'formCheckbox' view helper.
  103. The checked value is always used to populate it. </para>
  104. </sect2>
  105. <sect2 id="zend.form.standardElements.file">
  106. <title>Zend_Form_Element_File</title>
  107. <para> The File form element provides a mechanism for supplying file upload fields to your
  108. form. It utilizes <link linkend="zend.file.transfer.introduction"
  109. >Zend_File_Transfer</link> internally to provide this functionality, and the
  110. <methodname>FormFile</methodname> view helper as also the
  111. <methodname>File</methodname> decorator to display the form element. </para>
  112. <para> By default, it uses the <methodname>Http</methodname> transfer adapter, which
  113. introspects the <methodname>$_FILES</methodname> array and allows you to attach
  114. validators and filters. Validators and filters attached to the form element will be
  115. attached to the transfer adapter. </para>
  116. <example id="zend.form.standardElements.file.usage">
  117. <title>File form element usage</title>
  118. <para> The above explanation of using the File form element may seem arcane, but actual
  119. usage is relatively trivial: </para>
  120. <programlisting language="php"><![CDATA[
  121. $element = new Zend_Form_Element_File('foo');
  122. $element->setLabel('Upload an image:')
  123. ->setDestination('/var/www/upload');
  124. // ensure only 1 file
  125. $element->addValidator('Count', false, 1);
  126. // limit to 100K
  127. $element->addValidator('Size', false, 102400);
  128. // only JPEG, PNG, and GIFs
  129. $element->addValidator('Extension', false, 'jpg,png,gif');
  130. $form->addElement($element, 'foo');
  131. ]]></programlisting>
  132. <para> También debe asegurarse de que se ha provisto un tipo de codificación corecto al
  133. formulario; se debe utilizar 'multipart/form-data'. Se puede hacer esto
  134. estableciendo el atributo 'enctype' en el formulario: </para>
  135. <programlisting language="php"><![CDATA[
  136. $form->setAttrib('enctype', 'multipart/form-data');
  137. ]]></programlisting>
  138. <para> After the form is validated successfully, you must receive the file to store it
  139. in the final destination using <methodname>receive()</methodname>. Additionally you
  140. can determinate the final location using <methodname>getFileName()</methodname>: </para>
  141. <programlisting language="php"><![CDATA[
  142. if (!$form->isValid) {
  143. print "Ohoh... validation error";
  144. }
  145. if (!$form->foo->receive()) {
  146. print "Error receiving the file";
  147. }
  148. $location = $form->foo->getFileName();
  149. ]]></programlisting>
  150. </example>
  151. <note>
  152. <title>Ubicaciones Predeterminadas para la Carga de Archivos</title>
  153. <para> Por defecto, los archivos son cargados al directorio temp del sistema. </para>
  154. </note>
  155. <note>
  156. <title>Valores de archivo</title>
  157. <para> Dentro de HTTP, un elemento file no tiene valor. Por tanto y a causa de razones
  158. de seguridad usted solo obtendrá el nombre del archivo cargado llamando a getValue()
  159. y no el destino completo. si usted necesita la información completa llame a
  160. getFileName() y le devolverá el destino y nombre de archivo completo. </para>
  161. </note>
  162. <para> Per default the file will automatically be received when you call
  163. <methodname>getValues()</methodname> on the form. The reason behind this behaviour
  164. is, that the file itself is the value of the file element. </para>
  165. <programlisting language="php"><![CDATA[
  166. $form->getValues();
  167. ]]></programlisting>
  168. <note>
  169. <para> Therefor another call of <methodname>receive()</methodname> after calling
  170. <methodname>getValues()</methodname> will not have an effect. Also creating a
  171. instance of <classname>Zend_File_Transfer</classname> will not have an effect as
  172. there no file anymore to receive. </para>
  173. </note>
  174. <para> Still, sometimes you may want to call <methodname>getValues()</methodname> without
  175. receiving the file. You can archive this by calling
  176. <methodname>setValueDisabled(true)</methodname>. To get the actual value of this
  177. flag you can call <methodname>isValueDisabled()</methodname>. </para>
  178. <example id="zend.form.standardElements.file.retrievement">
  179. <title>Explicit file retrievement</title>
  180. <para> First call <methodname>setValueDisabled(true)</methodname>. </para>
  181. <programlisting language="php"><![CDATA[
  182. $element = new Zend_Form_Element_File('foo');
  183. $element->setLabel('Upload an image:')
  184. ->setDestination('/var/www/upload')
  185. ->setValueDisabled(true);
  186. ]]></programlisting>
  187. <para> Now the file will not be received when you call
  188. <methodname>getValues()</methodname>. So you must call
  189. <methodname>receive()</methodname> on the file element, or an instance of
  190. <classname>Zend_File_Transfer</classname> yourself. </para>
  191. <programlisting language="php"><![CDATA[
  192. $values = $form->getValues();
  193. if ($form->isValid($form->getPost())) {
  194. if (!$form->foo->receive()) {
  195. print "Upload error";
  196. }
  197. }
  198. ]]></programlisting>
  199. </example>
  200. <para> There are several states of the uploaded file which can be checked with the following
  201. methods: </para>
  202. <itemizedlist>
  203. <listitem>
  204. <para>
  205. <methodname>isUploaded()</methodname>: Checks if the file element has been
  206. uploaded or not. </para>
  207. </listitem>
  208. <listitem>
  209. <para>
  210. <methodname>isReceived()</methodname>: Checks if the file element has already
  211. been received. </para>
  212. </listitem>
  213. <listitem>
  214. <para>
  215. <methodname>isFiltered()</methodname>: Checks if the filters have already been
  216. applied to the file element or not. </para>
  217. </listitem>
  218. </itemizedlist>
  219. <example id="zend.form.standardElements.file.isuploaded">
  220. <title>Checking if an optional file has been uploaded</title>
  221. <programlisting language="php"><![CDATA[
  222. $element = new Zend_Form_Element_File('foo');
  223. $element->setLabel('Upload an image:')
  224. ->setDestination('/var/www/upload')
  225. ->setRequired(false);
  226. $element->addValidator('Size', false, 102400);
  227. $form->addElement($element, 'foo');
  228. // The foo file element is optional but when it's given go into here
  229. if ($form->foo->isUploaded()) {
  230. // foo file given... do something
  231. }
  232. ]]></programlisting>
  233. </example>
  234. <para>
  235. <classname>Zend_Form_Element_File</classname> soporta también archivos múltiples. Para
  236. llamar el método <methodname>setMultiFile($count)</methodname> usted puede establecer la
  237. cantidad de elementos file que usted desea crear. Esto le previene de establecer la
  238. misma configuración varias veces. </para>
  239. <example id="zend.form.standardElements.file.multiusage">
  240. <title>Configuración de múltiples archivos</title>
  241. <para> Crear un elemento multi archivo es lo mismo que querer configurar un elemento
  242. único. Sólo tiene que llamar a <methodname>setMultiFile()</methodname>
  243. adicionalmente después de la creación: </para>
  244. <programlisting language="php"><![CDATA[
  245. $element = new Zend_Form_Element_File('foo');
  246. $element->setLabel('Upload an image:')
  247. ->setDestination('/var/www/upload');
  248. // asegura mínimo 1, maximo 3 archivos
  249. $element->addValidator('Count', false, array('min' => 1, 'max' => 3));
  250. // limita a 100K
  251. $element->addValidator('Size', false, 102400);
  252. // solo JPEG, PNG, y GIFs
  253. $element->addValidator('Extension', false, 'jpg,png,gif');
  254. // define 3 elementos file idénticos
  255. $element->setMultiFile(3);
  256. $form->addElement($element, 'foo');
  257. ]]></programlisting>
  258. <para> En su vista usted ahora obtendrá 3 elementos para carga de archivos idénticos los
  259. cuales comparten la misma configuración. Para obtener el conjunto del número de
  260. archivos múltiples simplemente llame a <methodname>getMultiFile()</methodname>. </para>
  261. </example>
  262. <note>
  263. <title>Elementos File en Subformularios</title>
  264. <para> Cuando usted use elementos file en subformularios debería establecer nombres
  265. únicos. Así, cuando usted nombre su elemento file en el subformulario1, debe darle
  266. un nombre diferente en el subformulario2. </para>
  267. <para> Tan pronto como haya dos elementos file nombrados de forma idéntica, el segundo
  268. elemento no se mostrará o enviará. </para>
  269. </note>
  270. <para> Para limitar el tamaño del archivo, el cual es cargado por el cliente, debe
  271. establecer el tamaño máximo de archivo que el formulario acepta . Esto limitará el
  272. tamaño del archivo en el lado del cliente configurando la opción
  273. <methodname>MAX_FILE_SIZE</methodname> en el formulario. Tan pronto como establezca
  274. este valor usando el método <methodname>setMaxFileSize($size)</methodname>, será
  275. generado con el elemento file. </para>
  276. <programlisting language="php"><![CDATA[
  277. $element = new Zend_Form_Element_File('foo');
  278. $element->setLabel('Upload an image:')
  279. ->setDestination('/var/www/upload')
  280. ->addValidator('Size', false, 102400) // límite en 100K
  281. ->setMaxFileSize(102400); // limita el tamaño del archivo en el lado del cliente
  282. $form->addElement($element, 'foo');
  283. ]]></programlisting>
  284. <note>
  285. <title>MaxFileSize con elementos file múltiples</title>
  286. <para> Cuando usted usa elementos file múltiples en los formularios tiene que establecer
  287. el <methodname>MAX_FILE_SIZE</methodname> una sola vez. Establecerlo otra vez
  288. sobreescribirá el valor previamente establecido. </para>
  289. <para> Note que usted puede establecer <methodname>MAX_FILE_SIZE</methodname> una sola
  290. vez, incluso si usa múltiples formularios. </para>
  291. </note>
  292. </sect2>
  293. <sect2 id="zend.form.standardElements.hidden">
  294. <title>Zend_Form_Element_Hidden</title>
  295. <para> Los elementos Hidden simplemente inyectan datos que deben ser enviados, pero que el
  296. usuario no debe manipular. <classname>Zend_Form_Element_Hidden</classname> logra esto a
  297. través del uso del helper de vista 'formHidden'. </para>
  298. </sect2>
  299. <sect2 id="zend.form.standardElements.hash">
  300. <title>Zend_Form_Element_Hash</title>
  301. <para> Este elemento provee protección de ataques desde CSRF sobre formularios, asegurando
  302. que el dato es enviado por la sesión del usuario que generó el formulario y no por un
  303. script malicioso. La protección se logra mediante la adición de un elemento hash a un
  304. formulario y verificandolo cuando el formulario es enviado. </para>
  305. <para> El nombre del elemento hash debe ser único. Se recomienda usar la opción
  306. <literal>salt</literal> para el elemento, dos hashes con el mismo nombre y
  307. diferentes salts no chocan: </para>
  308. <programlisting language="php"><![CDATA[
  309. $form->addElement('hash', 'no_csrf_foo', array('salt' => 'unique'));
  310. ]]></programlisting>
  311. <para> Puede establecer el salt más tarde usando el método
  312. <methodname>setSalt($salt)</methodname>. </para>
  313. <para> Internamente, el elemento almacena un identificador único usando
  314. <methodname>Zend_Session_Namespace</methodname>, y lo comprueba en el momento que se
  315. envía (comprueba que el TTL no ha espirado). El validador 'Identical' entonces es usado
  316. para asegurarse que el hash enviado marcha con el hash alamacenado. </para>
  317. <para> El helper de vista 'formHidden' es usado para generar el elemento en el formulario.
  318. </para>
  319. </sect2>
  320. <sect2 id="zend.form.standardElements.Image">
  321. <title>Zend_Form_Element_Image</title>
  322. <para> Las imágenes pueden ser usadas como elementos de formulario, y le permiten
  323. especificar elementos gráficos como botones de formulario. </para>
  324. <para> Los elementos Image necesitan una imagen fuente.
  325. <classname>Zend_Form_Element_Image</classname> le permite especificar esto usando el
  326. método de acceso <methodname>setImage()</methodname> (o clave de configuración 'image').
  327. Opcionalmente, también puede especificar un valor para utilizar al momento de enviar la
  328. imagen utilizando el método de acceso <methodname>setImageValue()</methodname> (o clave
  329. de configuración 'imageValue'). Cuando el valor establecido para el elemento sea igual a
  330. <methodname>imageValue</methodname>, entonces el método de acceso
  331. <methodname>isChecked()</methodname> devolverá <constant>TRUE</constant>. </para>
  332. <para> Los elementos Image usan el <link linkend="zend.form.standardDecorators.image"
  333. >Decorador de Imagen </link> para generar (así como el estandard Errors, HtmlTag, y
  334. decorador Label). Opcionalmente, puede especificar una etiqueta para el decorador
  335. <methodname>Image</methodname> que luego envuelva al elemento imagen. </para>
  336. </sect2>
  337. <sect2 id="zend.form.standardElements.multiCheckbox">
  338. <title>Zend_Form_Element_MultiCheckbox</title>
  339. <para> En ocasiones, se tiene un conjunto de checkboxes, y se desea agrupar los resultados.
  340. Esto es como un <link linkend="zend.form.standardElements.multiselect"
  341. >Multiselect</link>, pero en lugar de estar en una lista desplegable, necesita
  342. mostrarlos en pares checkbox/value (casilla de verificación/valor). </para>
  343. <para>
  344. <classname>Zend_Form_Element_MultiCheckbox</classname> hace esto sencillo. Like all
  345. other elements extending the base Multi element, you can specify a list of options, and
  346. easily validate against that same list. The 'formMultiCheckbox' view helper ensures that
  347. these are returned as an array in the form submission. </para>
  348. <para> Por defecto, este elemnto requiere un validador <methodname>InArray</methodname> el
  349. cual valida contra el array de llaves de las opciones registradas. Se puede desactivar
  350. esta caracteristica llamando a
  351. <methodname>setRegisterInArrayValidator(false)</methodname>, o pasando un valor
  352. falso a la configuración de llaves <methodname>registerInArrayValidator</methodname>. </para>
  353. <para> Se puede manipular las opciones de checkbox usando los siguinetes métodos: </para>
  354. <itemizedlist>
  355. <listitem>
  356. <para>
  357. <methodname>addMultiOption($option, $value)</methodname>
  358. </para>
  359. </listitem>
  360. <listitem>
  361. <para>
  362. <methodname>addMultiOptions(array $options)</methodname>
  363. </para>
  364. </listitem>
  365. <listitem>
  366. <para><methodname>setMultiOptions(array $options)</methodname> (overwrites existing
  367. options)</para>
  368. </listitem>
  369. <listitem>
  370. <para>getMultiOption($option)</para>
  371. </listitem>
  372. <listitem>
  373. <para>getMultiOptions()</para>
  374. </listitem>
  375. <listitem>
  376. <para>
  377. <methodname>removeMultiOption($option)</methodname>
  378. </para>
  379. </listitem>
  380. <listitem>
  381. <para>
  382. <methodname>clearMultiOptions()</methodname>
  383. </para>
  384. </listitem>
  385. </itemizedlist>
  386. <para> Para marcar los valores confirmados, se necesita pasar un array de valores a
  387. <methodname>setValue()</methodname>. El siguiente código verificará los valores
  388. "bar" y "bat": </para>
  389. <programlisting language="php"><![CDATA[
  390. $element = new Zend_Form_Element_MultiCheckbox('foo', array(
  391. 'multiOptions' => array(
  392. 'foo' => 'Foo Option',
  393. 'bar' => 'Bar Option',
  394. 'baz' => 'Baz Option',
  395. 'bat' => 'Bat Option',
  396. );
  397. ));
  398. $element->setValue(array('bar', 'bat'));
  399. ]]></programlisting>
  400. <para> Note que cuando se determina un asimple variable, se debe pasar un array. </para>
  401. </sect2>
  402. <sect2 id="zend.form.standardElements.multiselect">
  403. <title>Zend_Form_Element_Multiselect</title>
  404. <para> XHTML <methodname>selector</methodname> de elementos permite 'multiple' atributos,
  405. indicando multiples opciones pueden ser seleccionados por submision, en vez de lo usual.
  406. <classname>Zend_Form_Element_Multiselect</classname> extiende <link
  407. linkend="zend.form.standardElements.select">Zend_Form_Element_Select</link>, y
  408. define los atributos <methodname>multiple</methodname> a 'multiple'. Como las otras
  409. clases que heredan de la clase base <classname>Zend_Form_Element_Multi</classname>, se
  410. puede manipular las opciones del selector usando: </para>
  411. <itemizedlist>
  412. <listitem>
  413. <para>
  414. <methodname>addMultiOption($option, $value)</methodname>
  415. </para>
  416. </listitem>
  417. <listitem>
  418. <para>
  419. <methodname>addMultiOptions(array $options)</methodname>
  420. </para>
  421. </listitem>
  422. <listitem>
  423. <para><methodname>setMultiOptions(array $options)</methodname> (overwrites existing
  424. options)</para>
  425. </listitem>
  426. <listitem>
  427. <para>getMultiOption($option)</para>
  428. </listitem>
  429. <listitem>
  430. <para>getMultiOptions()</para>
  431. </listitem>
  432. <listitem>
  433. <para>
  434. <methodname>removeMultiOption($option)</methodname>
  435. </para>
  436. </listitem>
  437. <listitem>
  438. <para>
  439. <methodname>clearMultiOptions()</methodname>
  440. </para>
  441. </listitem>
  442. </itemizedlist>
  443. <para> Si un adaptador de tranducción es registrado con el formulario y/o elemnto, la opción
  444. valores será traducido para propósito de despliegue. </para>
  445. <para> Por defecto, este elemento registra un validador <methodname>InArray</methodname> el
  446. cual valida contra el array de llaves de opciones registradas. se puede deshabilitar
  447. esta caracteristica llamando a
  448. <methodname>setRegisterInArrayValidator(false)</methodname>, o pasando un valor
  449. falso a la configuracion de llaves <methodname>registerInArrayValidator</methodname>.
  450. </para>
  451. </sect2>
  452. <sect2 id="zend.form.standardElements.password">
  453. <title>Zend_Form_Element_Password</title>
  454. <para> Elementos contraseña son basicamente elementos de texto -- excepto que tipicamente no
  455. se quiera desplegar la contraseña en los mensajes de error o del elemnto en si cuando el
  456. formulario es re desplegado. </para>
  457. <para>
  458. <classname>Zend_Form_Element_Password</classname> archiva esto llamando
  459. <methodname>setObscureValue(true)</methodname> en cada validador (asegurando que la
  460. contraseña este oculta en mensajes de validación de errores), y usando la vista ayuda
  461. 'formPassword' (el cual no desplega el valor pasado). </para>
  462. </sect2>
  463. <sect2 id="zend.form.standardElements.radio">
  464. <title>Zend_Form_Element_Radio</title>
  465. <para> elementos de Radio permite especificar muchas opciones, de los cuales se necesita
  466. retornar un solo valor. <classname>Zend_Form_Element_Radio</classname> extiende la clase
  467. base <classname>Zend_Form_Element_Multi</classname>, permitiendonos especificar un
  468. numero de opciones, y luego usa la vista ayuda <methodname>formRadio</methodname> para
  469. desplegar. </para>
  470. <para> Por defecto, este elemento registra un validador <methodname>InArray</methodname> el
  471. cual valida contra el array de llaves de opciones registradas. se puede deshabilitar
  472. esta caracteristica llamando a
  473. <methodname>setRegisterInArrayValidator(false)</methodname>, o pasando un valor
  474. falso a la configuracion de llaves <methodname>registerInArrayValidator</methodname>.
  475. configuration key. </para>
  476. <para> Como todos los elementos se extienden del elemento clase base Multi, los siguientes
  477. métodos pueden ser usados para manipular las opciones de radio desplegadas: </para>
  478. <itemizedlist>
  479. <listitem>
  480. <para>
  481. <methodname>addMultiOption($option, $value)</methodname>
  482. </para>
  483. </listitem>
  484. <listitem>
  485. <para>
  486. <methodname>addMultiOptions(array $options)</methodname>
  487. </para>
  488. </listitem>
  489. <listitem>
  490. <para><methodname>setMultiOptions(array $options)</methodname> (overwrites existing
  491. options)</para>
  492. </listitem>
  493. <listitem>
  494. <para>getMultiOption($option)</para>
  495. </listitem>
  496. <listitem>
  497. <para>getMultiOptions()</para>
  498. </listitem>
  499. <listitem>
  500. <para>
  501. <methodname>removeMultiOption($option)</methodname>
  502. </para>
  503. </listitem>
  504. <listitem>
  505. <para>
  506. <methodname>clearMultiOptions()</methodname>
  507. </para>
  508. </listitem>
  509. </itemizedlist>
  510. </sect2>
  511. <sect2 id="zend.form.standardElements.reset">
  512. <title>Zend_Form_Element_Reset</title>
  513. <para> Botones Reset son tipicamente usados para limpiar un formulario, y no son parte de la
  514. información sometida. Como sea, como ellos sirven como propósito en el despliegue, son
  515. incluidos en los elementos estándar. </para>
  516. <para>
  517. <classname>Zend_Form_Element_Reset</classname> extends <link
  518. linkend="zend.form.standardElements.submit">Zend_Form_Element_Submit</link>. Tal
  519. cual, la etiqueta es usada para desplegar el botón y será traducido si el adaptador
  520. traducción esta presente. Se utiliza sólo los decoradores 'ViewHelper' y 'DtDdWrapper',
  521. nunca debería existir mensajes de error para tales elementos, no se necesitará una
  522. etiqueta. </para>
  523. </sect2>
  524. <sect2 id="zend.form.standardElements.select">
  525. <title>Zend_Form_Element_Select</title>
  526. <para> Cajas selectoras son una manera común de limitar espeficias opciones para un dado
  527. formulario datum. <classname>Zend_Form_Element_Select</classname> le permite generar
  528. esto rápido y fácil. </para>
  529. <para> Por defecto, este elemento registra un validador <methodname>InArray</methodname> el
  530. cual valida contra el array de llaves de opciones registradas. se puede deshabilitar
  531. esta caracteristica llamando a
  532. <methodname>setRegisterInArrayValidator(false)</methodname>, o pasando un valor
  533. falso a la configuracion de llaves <methodname>registerInArrayValidator</methodname>.
  534. configuration key. </para>
  535. <para> Como se extiende el elemento base Multi, los siguientes métodos pueden ser usados
  536. para manipular las opciones seleccionadas: </para>
  537. <itemizedlist>
  538. <listitem>
  539. <para>
  540. <methodname>addMultiOption($option, $value)</methodname>
  541. </para>
  542. </listitem>
  543. <listitem>
  544. <para>
  545. <methodname>addMultiOptions(array $options)</methodname>
  546. </para>
  547. </listitem>
  548. <listitem>
  549. <para><methodname>setMultiOptions(array $options)</methodname> (overwrites existing
  550. options)</para>
  551. </listitem>
  552. <listitem>
  553. <para>getMultiOption($option)</para>
  554. </listitem>
  555. <listitem>
  556. <para>getMultiOptions()</para>
  557. </listitem>
  558. <listitem>
  559. <para>
  560. <methodname>removeMultiOption($option)</methodname>
  561. </para>
  562. </listitem>
  563. <listitem>
  564. <para>
  565. <methodname>clearMultiOptions()</methodname>
  566. </para>
  567. </listitem>
  568. </itemizedlist>
  569. <para>
  570. <classname>Zend_Form_Element_Select</classname> usa la vista ayuda 'formSelect' para
  571. decoración. </para>
  572. </sect2>
  573. <sect2 id="zend.form.standardElements.submit">
  574. <title>Zend_Form_Element_Submit</title>
  575. <para> Submit buttons are used to submit a form. You may use multiple submit buttons; you
  576. can use the button used to submit the form to decide what action to take with the data
  577. submitted. <classname>Zend_Form_Element_Submit</classname> makes this decisioning easy,
  578. by adding a <methodname>isChecked()</methodname> method; as only one button element will
  579. be submitted by the form, after populating or validating the form, you can call this
  580. method on each submit button to determine which one was used. </para>
  581. <para>
  582. <classname>Zend_Form_Element_Submit</classname> usa la etiqueta como el "valor" del
  583. botón sometido, traduciendolo si el adaptador traducción esta presente.
  584. <methodname>isChecked()</methodname> verifica el valor sometido contra la etiqueta
  585. en orden to determinar si el botón ha sido usado. </para>
  586. <para> El <link linkend="zend.form.standardDecorators.viewHelper">ViewHelper</link> y <link
  587. linkend="zend.form.standardDecorators.dtDdWrapper">DtDdWrapper</link> decoradores
  588. generan al elemento. no decorador de etiquetas es usado, como el botón etiqueta es usado
  589. cuando se generan los elementos; asi tipicamente, no se asociarán errores con el elemnto
  590. sometido. </para>
  591. </sect2>
  592. <sect2 id="zend.form.standardElements.text">
  593. <title>Zend_Form_Element_Text</title>
  594. <para> Lejos el mas prevaleciente tipo de formulario es el elemento texto, permitido para
  595. entrada de texto limitado; es un elemento ideal para la entrada de la información.
  596. <classname>Zend_Form_Element_Text</classname> simplemente usa la vista ayuda
  597. 'formText' para desplegar el elemento. </para>
  598. </sect2>
  599. <sect2 id="zend.form.standardElements.textarea">
  600. <title>Zend_Form_Element_Textarea</title>
  601. <para> Textareas son usadas cuando se espera una larga cantidad de texto y no limites en la
  602. cantidad de texto sometido ( otro que el máximo tamaño tomado por su servidor or
  603. <acronym>PHP</acronym>). <classname>Zend_Form_Element_Textarea</classname> usa la
  604. vista ayuda 'textArea' para desplegar tales elementos, ocupando el valor como el
  605. contendio del elemento. </para>
  606. </sect2>
  607. </sect1>