Zend_Form-StandardElements.xml 36 KB

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