| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- EN-Revision: 16073 -->
- <!-- Reviewed: no -->
- <sect2 id="zend.dojo.form.elements">
- <title>Elementos de Formularios Dijit-Specific</title>
- <para>
- Cada formulario dijit para el que se provee un ayudante tiene un
- elemento correspondiente <classname>Zend_Form</classname>.
- Todos ellos tienen los siguientes métodos disponibles para manipular
- los parámetros dijit:
- </para>
- <itemizedlist>
- <listitem><para>
- <code>setDijitParam($key, $value)</code>: establecer un único
- parámetro dijit. Si el parámetro dijit ya existe, se borrará y
- se reemplazará por el nuevo.
- </para></listitem>
- <listitem><para>
- <code>setDijitParams(array $params)</code>: establecer varios
- parámetros dijit a la vez. Cualquiera de los parámetros pasados
- que concuerden con los ya presentes se sobreescribirán.
- </para></listitem>
- <listitem><para>
- <code>hasDijitParam($key)</code>: si un determinado parámetro
- dijit está definido y presente, devolverá TRUE, de lo contrario
- devolverá FALSE.
- </para></listitem>
- <listitem><para>
- <code>getDijitParam($key)</code>: recupera el parámetro dijit.
- Si no está disponible, se devuelve un valor null.
- </para></listitem>
- <listitem><para>
- <code>getDijitParams()</code>: recupera todos los parámetros
- dijit.
- </para></listitem>
- <listitem><para>
- <code>removeDijitParam($key)</code>: elimina el parámetro
- dijit dado.
- </para></listitem>
- <listitem><para>
- <code>clearDijitParams()</code>: borra todos los parámetros
- dijit actualmente definidos.
- </para></listitem>
- </itemizedlist>
- <para>
- Los parámetros Dijit se almacenan en la propiedad pública
- <code>dijitParams</code>. Así, puede habilitar dijit para un elemento
- de un formulario existente simplemente estableciendo esta propiedad
- en el elemento; sencillamante no tendrá los accessors anteriores a fin
- de facilitar la manipulación de parámetros.
- </para>
- <para>
- Además, los elementos específicos de dijit implementan una lista
- diferente de decoradores, correspondientes a lo siguiente:
- </para>
- <programlisting role="php"><![CDATA[
- $element->addDecorator('DijitElement')
- ->addDecorator('Errors')
- ->addDecorator('HtmlTag', array('tag' => 'dd'))
- ->addDecorator('Label', array('tag' => 'dt'));
- ]]></programlisting>
- <para>
- En efecto, el decorador DijitElement es utilizado en lugar del
- decorador standard ViewHelper.
- </para>
- <para>
- Finalmente, el elemento base Dijit asegura que el path del ayudante de
- vista de Dojo se establezca en la vista.
- </para>
- <para>
- Una variante de DijitElement, DijitMulti, ofrece la funcionalidad del
- elemento abstracto del formulario <code>Multi</code>, permitiendo al
- desarrollador especificar 'multiOptions' -- típicamente opciones
- "select" u opciones de "radio".
- </para>
- <para>
- Los siguientes elementos dijit están incluídos en la distribución
- standard de Zend Framework.
- </para>
- <sect3 id="zend.dojo.form.elements.button">
- <title>Button</title>
- <para>
- Si bien no derivan del elemento standard Button <link
- linkend="zend.form.standardElements.button"></link>, implementan
- la misma funcionalidad, y pueden ser utilizados como una sustitución
- de drop-in, como se expone en la siguiente funcionalidad:
- </para>
- <itemizedlist>
- <listitem><para>
- <code>getLabel()</code> utilizará el nombre del elemento como el
- rótulo del botón si no se ha provisto el nombre.
- Además, traducirá el nombre si un adaptador de traducción
- encuentra concordancia con un mensaje disponible.
- </para></listitem>
- <listitem><para>
- <code>isChecked()</code> determina si el valor enviado
- coincide con la etiqueta; si así fuera, devuelve true.
- Esto es útil para determinar qué botón se utilizó cuando se
- envió un formulario.
- </para></listitem>
- </itemizedlist>
- <para>
- Además, sólo los decoradores <code>DijitElement</code> y
- <code>DtDdWrapper</code> se utilizan para elementos Button.
- </para>
- <example id="zend.dojo.form.elements.button.example">
- <title>Ejemplo de Uso del Elemento Button dijit</title>
- <programlisting role="php"><![CDATA[
- $form->addElement(
- 'Button',
- 'foo',
- array(
- 'label' => 'Button Label',
- )
- );
- ]]></programlisting>
- </example>
- </sect3>
- <sect3 id="zend.dojo.form.elements.checkBox">
- <title>CheckBox</title>
- <para>
- Si bien no derivan del elemento standard Checkbox <link
- linkend="zend.form.standardElements.checkbox"></link>,
- aplican la misma funcionalidad. Esto significa exponer los
- siguientes métodos:
- </para>
- <itemizedlist>
- <listitem><para>
- <code>setCheckedValue($value)</code>: establecer el valor a usar
- cuando el elemento está marcado (checked).
- </para></listitem>
- <listitem><para>
- <code>getCheckedValue()</code>: obtener el valor del item a
- usar cuando está comprobado (checked).
- </para></listitem>
- <listitem><para>
- <code>setUncheckedValue($value)</code>: establecer el valor del
- item a utilizar cuando está desactivado (unchecked).
- </para></listitem>
- <listitem><para>
- <code>getUncheckedValue()</code>: obtener el valor del
- item a utilizar cuando está desactivado (unchecked).
- </para></listitem>
- <listitem><para>
- <code>setChecked($flag)</code>: marcar el elemento como
- activado (checked) o desactivado (unchecked).
- </para></listitem>
- <listitem><para>
- <code>isChecked()</code>: determina si el elemento está
- activo (checked) actualmente.
- </para></listitem>
- </itemizedlist>
- <example id="zend.dojo.form.elements.checkBox.example">
- <title>Ejemplo de Uso de Elementos CheckBox dijit</title>
- <programlisting role="php"><![CDATA[
- $form->addElement(
- 'CheckBox',
- 'foo',
- array(
- 'label' => 'A check box',
- 'checkedValue' => 'foo',
- 'uncheckedValue' => 'bar',
- 'checked' => true,
- )
- );
- ]]></programlisting>
- </example>
- </sect3>
- <sect3 id="zend.dojo.form.elements.comboBox">
- <title>ComboBox y FilteringSelect</title>
- <para>
- Como se señaló en la documentación del ayudante de vista de
- ComboBox dijit <link
- linkend="zend.dojo.view.dijit.form"></link>, los ComboBoxes
- son un híbrido entre "select" y "text input", permitiendo el
- autocompletado y la capacidad para especificar una alternativa a las
- opciones provistas.
- FilteringSelects es lo mismo, pero no permite entradas arbitrarias.
- </para>
- <note>
- <title>ComboBoxes que Devuelven los Valores de los Labels</title>
- <para>
- Los ComboBoxes devuelven los valores de los rótulos (labels),
- y no los valores de opción, que pueden llevar a una
- desvinculación de las expectativas.
- Por esta razón, los ComboBoxes no auto-registran un validador
- <code>InArray</code> (aunque los FilteringSelects si lo hacen).
- </para>
- </note>
- <para>
- Los elementos de forms de ComboBox y FilteringSelect proporcionan
- accessors y mutators para examinar y establecer las opciones
- seleccionadas, así como para especificar un datastore dojo.data
- (si se usa). Se extienden desde DijitMulti, que le permite
- especificar opciones de selección vía los métodos
- <code>setMultiOptions()</code> y <code>setMultiOption()</code>.
- Además, están disponibles los siguientes métodos:
- </para>
- <itemizedlist>
- <listitem><para>
- <code>getStoreInfo()</code>: Obtener del datastore toda la
- información establecida actualmente.
- Devuelve un array vacío si no hay datos actualmente establecidos.
- </para></listitem>
- <listitem><para>
- <code>setStoreId($identifier)</code>: establece la variable del
- identificador (generalmente referenciado por el atributo
- 'jsId' en Dojo).
- Este debe ser un nombre de variable válido para javascript.
- </para></listitem>
- <listitem><para>
- <code>getStoreId()</code>: recupera el nombre de la variable del
- identificador del datastore.
- </para></listitem>
- <listitem><para>
- <code>setStoreType($dojoType)</code>: establece la clase del
- datastore a usar; por ejemplo, "dojo.data.ItemFileReadStore".
- </para></listitem>
- <listitem><para>
- <code>getStoreType()</code>: obtiene la clase del datastore a
- usar.
- </para></listitem>
- <listitem><para>
- <code>setStoreParams(array $params)</code>: establece cualquiera
- de los parámetros utilizados para configurar el objeto datastore.
- Como ejemplo, el datastore dojo.data.ItemFileReadStore esperaría
- un parámetro 'url' apuntando a un lugar que devolvería el objeto
- dojo.data.
- </para></listitem>
- <listitem><para>
- <code>getStoreParams()</code>: obtiene cualquiera de los
- parámetros del datastore actualmente establecido; si no hay
- ninguno, se devuelve un array vacío.
- </para></listitem>
- <listitem><para>
- <code>setAutocomplete($flag)</code>: indica si será usado o no
- el elemento seleccionado una vez que el usuario deje el
- elemento.
- </para></listitem>
- <listitem><para>
- <code>getAutocomplete()</code>: obtener el valor del flag de
- autocomplete.
- </para></listitem>
- </itemizedlist>
- <para>
- Por defecto, si no hay ningún dojo.data registrado con el
- elemento, este elemento registra un validador <code>InArray</code>
- que valida contra las claves del array de las opciones registradas.
- Puede desactivar este comportamiento ya sea llamando a
- <code>setRegisterInArrayValidator(false)</code>, o pasando un valor
- false a la clave de configuración <code>registerInArrayValidator</code>.
- </para>
- <example id="zend.dojo.form.elements.comboBox.selectExample">
- <title>Elemento de ComboBox dijit Usado como select input</title>
- <programlisting role="php"><![CDATA[
- $form->addElement(
- 'ComboBox',
- 'foo',
- array(
- 'label' => 'ComboBox (select)',
- 'value' => 'blue',
- 'autocomplete' => false,
- 'multiOptions' => array(
- 'red' => 'Rouge',
- 'blue' => 'Bleu',
- 'white' => 'Blanc',
- 'orange' => 'Orange',
- 'black' => 'Noir',
- 'green' => 'Vert',
- ),
- )
- );
- ]]></programlisting>
- </example>
- <example id="zend.dojo.form.elements.comboBox.datastoreExample">
- <title>Elemento de ComboBox dijit Usado con datastore</title>
- <programlisting role="php"><![CDATA[
- $form->addElement(
- 'ComboBox',
- 'foo',
- array(
- 'label' => 'ComboBox (datastore)',
- 'storeId' => 'stateStore',
- 'storeType' => 'dojo.data.ItemFileReadStore',
- 'storeParams' => array(
- 'url' => '/js/states.txt',
- ),
- 'dijitParams' => array(
- 'searchAttr' => 'name',
- ),
- )
- );
- ]]></programlisting>
- </example>
- <para>
- Los ejemplos anteriores también podrían utilizar
- <code>FilteringSelect</code> en vez de <code>ComboBox</code>.
- </para>
- </sect3>
- <sect3 id="zend.dojo.form.elements.currencyTextBox">
- <title>CurrencyTextBox</title>
- <para>
- El CurrencyTextBox principalmente brinda apoyo a la entrada de
- moneda. La moneda puede ser localizada, y puede manejar tanto a
- valores fraccionarios como no fraccionarios.
- </para>
- <para>
- Internamente, CurrencyTextBox deriva de <link
- linkend="zend.dojo.form.elements.numberTextBox">NumberTextBox</link>,
- <link
- linkend="zend.dojo.form.elements.validationTextBox">ValidationTextBox</link>,
- y <link linkend="zend.dojo.form.elements.textBox">TextBox</link>;
- todos los métodos disponibles a esas clases están disponibles.
- Además, pueden utilizarse los siguientes métodos restrictivos:
- </para>
- <itemizedlist>
- <listitem><para>
- <code>setCurrency($currency)</code>: establecer el tipo de
- moneda a usar; y debe seguir la especificación <ulink
- url="http://en.wikipedia.org/wiki/ISO_4217">ISO-4217</ulink>
- </para></listitem>
- <listitem><para>
- <code>getCurrency()</code>: recupera el tipo de moneda actual.
- </para></listitem>
- <listitem><para>
- <code>setSymbol($symbol)</code>: establece el símbolo de
- 3 letras <ulink
- url="http://en.wikipedia.org/wiki/ISO_4217">ISO-4217</ulink>
- de la moneda a usar.
- </para></listitem>
- <listitem><para>
- <code>getSymbol()</code>: recupera el símbolo de la moneda actual.
- </para></listitem>
- <listitem><para>
- <code>setFractional($flag)</code>: establece si la moneda
- debería permitir o no valores fraccionarios.
- </para></listitem>
- <listitem><para>
- <code>getFractional()</code>: recupera el status del flag
- fraccional.
- </para></listitem>
- </itemizedlist>
- <example id="zend.dojo.form.elements.currencyTextBox.example">
- <title>Ejemplo de Uso del Elemento CurrencyTextBox dijit</title>
- <programlisting role="php"><![CDATA[
- $form->addElement(
- 'CurrencyTextBox',
- 'foo',
- array(
- 'label' => 'Currency:',
- 'required' => true,
- 'currency' => 'USD',
- 'invalidMessage' => 'Invalid amount. ' .
- 'Include dollar sign, commas, and cents.',
- 'fractional' => false,
- )
- );
- ]]></programlisting>
- </example>
- </sect3>
- <sect3 id="zend.dojo.form.elements.dateTextBox">
- <title>DateTextBox</title>
- <para>
- DateTextBox establece un calendario desplegable (drop-down) para
- seleccionar una fecha, así como validación y formateo de fechas del
- lado del clente.
- </para>
- <para>
- Internamente, DateTextBox deriva de <link
- linkend="zend.dojo.form.elements.validationTextBox">ValidationTextBox</link>
- y <link linkend="zend.dojo.form.elements.textBox">TextBox</link>;
- todos los métodos disponibles a esas clases están disponibles.
- Además, los siguientes métodos pueden utilizarse para establecer
- restricciones individuales:
- </para>
- <itemizedlist>
- <listitem><para>
- <code>setAmPm($flag)</code> y <code>getAmPm()</code>: Cuándo
- usar o no los strings AM/PM en los fortmatos de horas.
- </para></listitem>
- <listitem><para>
- <code>setStrict($flag)</code> y <code>getStrict()</code>:
- Cuándo usar o no el matching para una expresión regular estricta
- al validar la entrada. Si es falso, que es el valor por defecto,
- será indulgente sobre espacios en blanco y algunas abreviaturas.
- </para></listitem>
- <listitem><para>
- <code>setLocale($locale)</code> y <code>getLocale()</code>:
- Establece y recupera la localidad a utilizar con este elemento
- específico.
- </para></listitem>
- <listitem><para>
- <code>setDatePattern($pattern)</code> y
- <code>getDatePattern()</code>: provee y recupera el <ulink
- url="http://www.unicode.org/reports/tr35/#Date_Format_Patterns"> patrón
- de formato de fechas unicode</ulink> para el formateo de
- fechas.
- </para></listitem>
- <listitem><para>
- <code>setFormatLength($formatLength)</code> y
- <code>getFormatLength()</code>: proporciona y recupera la
- longitud del tipo de formato a usar; debe ser uno de los
- siguientes: "long", "short", "medium" o "full".
- </para></listitem>
- <listitem><para>
- <code>setSelector($selector)</code> y
- <code>getSelector()</code>: proporciona y recupera el estilo del
- selector; debe ser "date" o "time".
- </para></listitem>
- </itemizedlist>
- <example id="zend.dojo.form.elements.dateTextBox.example">
- <title>Ejemplo de Uso del Elemento DateTextBox dijit</title>
- <programlisting role="php"><![CDATA[
- $form->addElement(
- 'DateTextBox',
- 'foo',
- array(
- 'label' => 'Date:',
- 'required' => true,
- 'invalidMessage' => 'Invalid date specified.',
- 'formatLength' => 'long',
- )
- );
- ]]></programlisting>
- </example>
- </sect3>
- <sect3 id="zend.dojo.form.elements.editor">
- <title>Editor</title>
- <para>
- Editor proporciona un editor WYSIWYG que puede ser utilizado tanto
- para crear como para editar contenidos HTML ricos.
- dijit.Editor es pluggable y podrá ampliarse con plugins
- personalizados si lo desea; para más detalles vea en
- <ulink url="http://dojotoolkit.org/book/dojo-book-0-9/part-2-dijit/advanced-editing-and-display/editor-rich-text">
- la documentación de dijit.Editor</ulink>.
- </para>
- <para>
- El elemento form de Editor proporciona un número de accessors y
- mutators para manipular diversos parámetros dijit, tal como sigue:
- </para>
- <itemizedlist>
- <listitem>
- <para>
- <emphasis>captureEvents</emphasis> son eventos que se
- conectan al área de edición en si.
- Los siguientes accessors y mutators están disponibles para
- manipular la captura de eventos:
- </para>
- <itemizedlist>
- <listitem><para><code>addCaptureEvent($event)</code></para></listitem>
- <listitem><para><code>addCaptureEvents(array $events)</code></para></listitem>
- <listitem><para><code>setCaptureEvents(array $events)</code></para></listitem>
- <listitem><para><code>getCaptureEvents()</code></para></listitem>
- <listitem><para><code>hasCaptureEvent($event)</code></para></listitem>
- <listitem><para><code>removeCaptureEvent($event)</code></para></listitem>
- <listitem><para><code>clearCaptureEvents()</code></para></listitem>
- </itemizedlist>
- </listitem>
- <listitem>
- <para>
- <emphasis>events</emphasis> son eventos DOM estándar, como
- onClick, onKeyup, etc. Los siguientes accessors y mutators
- están disponibles para manipular eventos:
- </para>
- <itemizedlist>
- <listitem><para><code>addEvent($event)</code></para></listitem>
- <listitem><para><code>addEvents(array $events)</code></para></listitem>
- <listitem><para><code>setEvents(array $events)</code></para></listitem>
- <listitem><para><code>getEvents()</code></para></listitem>
- <listitem><para><code>hasEvent($event)</code></para></listitem>
- <listitem><para><code>removeEvent($event)</code></para></listitem>
- <listitem><para><code>clearEvents()</code></para></listitem>
- </itemizedlist>
- </listitem>
- <listitem>
- <para>
- <emphasis>plugins</emphasis> añaden funcionalidad al Editor
- -- herramientas adicionales para la barra de herramientas,
- estilos adicionales a permitir, etc.
- Los siguientes accessors y mutators están disponibles para
- manipular plugins:
- </para>
- <itemizedlist>
- <listitem><para><code>addPlugin($plugin)</code></para></listitem>
- <listitem><para><code>addPlugins(array $plugins)</code></para></listitem>
- <listitem><para><code>setPlugins(array $plugins)</code></para></listitem>
- <listitem><para><code>getPlugins()</code></para></listitem>
- <listitem><para><code>hasPlugin($plugin)</code></para></listitem>
- <listitem><para><code>removePlugin($plugin)</code></para></listitem>
- <listitem><para><code>clearPlugins()</code></para></listitem>
- </itemizedlist>
- </listitem>
- <listitem>
- <para>
- <emphasis>editActionInterval</emphasis> se utiliza para
- agrupar eventos para deshacer operaciones. Por defecto,
- este valor es de 3 segundos. El método
- <code>setEditActionInterval($interval)</code> puede ser
- usado para establecer el valor, mientras que
- <code>getEditActionInterval()</code> lo recuperará.
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis>focusOnLoad</emphasis> se utiliza para determinar
- si este editor en particular recibirá atención cuando la página
- se haya cargado. Por defecto, esto es falso. El método
- <code>setFocusOnLoad($flag)</code> puede usarse para
- establecer el valor, mientras que <code>getFocusOnLoad()</code>
- lo recuperará.
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis>height</emphasis> especifica la altura del editor;
- por defecto, es de 300px. El método
- <code>setHeight($height)</code> puede ser utilizado para
- establecer el valor, mientras que <code>getHeight()</code>
- lo recupera.
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis>inheritWidth</emphasis> se utiliza para determinar
- si el editor utilizará el ancho del contenedor padre o
- simplemente toma por defecto el 100% del ancho.
- Por defecto, esto es falso (es decir, llenará el ancho de la
- ventana). El método <code>setInheritWidth($flag)</code>
- puede ser utilizado para establecer el valor, mientras que
- <code>getInheritWidth()</code> lo recuperará.
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis>minHeight</emphasis> indica la altura mínima del
- editor; por defecto, es de 1em. El método
- <code>setMinHeight($height)</code> puede ser utilizado para
- establecer el valor, mientras que <code>getMinHeight()</code>
- lo recuperará.
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis>styleSheets</emphasis> indica qué otras hojas de
- estilo CSS deberían ser utilizadas para incidir sobre la
- pantalla del Editor. Por defecto, ninguna está registrada,
- y hereda la página de estilos. Los siguientes accessors
- y mutators están disponibles para manipular al editor de
- hojas de estilo (stylesheets):
- </para>
- <itemizedlist>
- <listitem><para><code>addStyleSheet($styleSheet)</code></para></listitem>
- <listitem><para><code>addStyleSheets(array $styleSheets)</code></para></listitem>
- <listitem><para><code>setStyleSheets(array $styleSheets)</code></para></listitem>
- <listitem><para><code>getStyleSheets()</code></para></listitem>
- <listitem><para><code>hasStyleSheet($styleSheet)</code></para></listitem>
- <listitem><para><code>removeStyleSheet($styleSheet)</code></para></listitem>
- <listitem><para><code>clearStyleSheets()</code></para></listitem>
- </itemizedlist>
- </listitem>
- </itemizedlist>
- <example id="zend.dojo.form.elements.editor.example">
- <title>Ejemplo de Uso del Elemento Editor dijit</title>
- <programlisting role="php"><![CDATA[
- $form->addElement('editor', 'content', array(
- 'plugins' => array('undo', '|', 'bold', 'italic'),
- 'editActionInterval' => 2,
- 'focusOnLoad' => true,
- 'height' => '250px',
- 'inheritWidth' => true,
- 'styleSheets' => array('/js/custom/editor.css'),
- ));]></programlisting>
- </example>
- </sect3>
- <sect3 id="zend.dojo.form.elements.horizontalSlider">
- <title>HorizontalSlider</title>
- <para>
- HorizontalSlider proporciona un widget deslizador de UI para
- seleccionar un valor numérico dentro de un rango.
- Internamente, establece el valor de un elemento oculto que es
- enviado por el formulario.
- </para>
- <para>
- HorizontalSlider proviene del elemento abstracto <link
- linkend="zend.dojo.form.elements.slider">Slider dijit</link>.
- Además, tiene una variedad de métodos de ajuste y configuración
- de reglas deslizantes y etiquetas para esas reglas.
- </para>
- <itemizedlist>
- <listitem>
- <para>
- <code>setTopDecorationDijit($dijit)</code> y
- <code>setBottomDecorationDijit($dijit)</code>: establecen el
- nombre de la dijit a utilizar bien para la parte superior o
- inferior de la barra deslizante.
- Esto no debería incluir el prefijo "dijit.form.",
- sino sólo el último nombre -- "HorizontalRule" o
- "HorizontalRuleLabels".
- </para>
- </listitem>
- <listitem>
- <para>
- <code>setTopDecorationContainer($container)</code> y
- <code>setBottomDecorationContainer($container)</code>:
- especifican el nombre a utilizar para el elemento
- contenedor de las reglas; por ejemplo 'Toprule',
- 'topContainer', etc.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>setTopDecorationLabels(array $labels)</code> y
- <code>setBottomDecorationLabels(array $labels)</code>:
- establecen las etiquetas a usar por uno de los tipos
- RuleLabels dijit. Debe ser un array indexado; especificar un
- único espacio vacío para saltar a la posición de una
- determinada etiqueta (como ser al comienzo o al final).
- </para>
- </listitem>
- <listitem>
- <para>
- <code>setTopDecorationParams(array $params)</code> y
- <code>setBottomDecorationParams(array $params)</code>:
- parámetros dijit para utilizar al configurar la Regla o
- RuleLabels dijit.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>setTopDecorationAttribs(array $attribs)</code> y
- <code>setBottomDecorationAttribs(array $attribs)</code>:
- atributos HTML para especificar una Regla dada o el
- elemento contenedor de HTML RuleLabels.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>getTopDecoration()</code> y
- <code>getBottomDecoration()</code>: recuperar todos los
- metadatos para una determinada Regla o definición de
- RuleLabels, tal como han sido provistos por los mutators
- anteriores.
- </para>
- </listitem>
- </itemizedlist>
- <example id="zend.dojo.form.elements.horizontalSlider.example">
- <title>Ejemplo de Uso del Elemento HorizontalSlider dijit</title>
- <para>
- Lo siguiente creará un deslizador horizontal de selección con
- valores enteros que van desde -10 a 10. La parte superior tendrá
- etiquetas en las marcas del 20%, 40%, 60%, y 80%.
- La parte inferior será una regla con marcas en el 0, 50%, y 100%.
- Cada vez que se cambie el valor, el elemento oculto almacenará
- el valor actualizado.
- </para>
- <programlisting role="php"><![CDATA[
- $form->addElement(
- 'HorizontalSlider',
- 'horizontal',
- array(
- 'label' => 'HorizontalSlider',
- 'value' => 5,
- 'minimum' => -10,
- 'maximum' => 10,
- 'discreteValues' => 11,
- 'intermediateChanges' => true,
- 'showButtons' => true,
- 'topDecorationDijit' => 'HorizontalRuleLabels',
- 'topDecorationContainer' => 'topContainer',
- 'topDecorationLabels' => array(
- ' ',
- '20%',
- '40%',
- '60%',
- '80%',
- ' ',
- ),
- 'topDecorationParams' => array(
- 'container' => array(
- 'style' => 'height:1.2em; font-size=75%;color:gray;',
- ),
- 'list' => array(
- 'style' => 'height:1em; font-size=75%;color:gray;',
- ),
- ),
- 'bottomDecorationDijit' => 'HorizontalRule',
- 'bottomDecorationContainer' => 'bottomContainer',
- 'bottomDecorationLabels' => array(
- '0%',
- '50%',
- '100%',
- ),
- 'bottomDecorationParams' => array(
- 'list' => array(
- 'style' => 'height:1em; font-size=75%;color:gray;',
- ),
- ),
- )
- );
- ]]></programlisting>
- </example>
- </sect3>
- <sect3 id="zend.dojo.form.elements.numberSpinner">
- <title>NumberSpinner</title>
- <para>
- Un número spinner es un elemento de texto para introducir valores
- numéricos; también incluye elementos de incremento y decremento
- del valor por una cantidad fija.
- </para>
- <para>
- Se encuentran disponibles los siguientes métodos:
- </para>
- <itemizedlist>
- <listitem><para>
- <code>setDefaultTimeout($timeout)</code> y
- <code>getDefaultTimeout()</code>: establece y recupera el
- tiempo de espera predeterminado en milisegundos, entre cuando
- el botón se mantiene presionado y cambia el valor.
- </para></listitem>
- <listitem><para>
- <code>setTimeoutChangeRate($rate)</code> y
- <code>getTimeoutChangeRate()</code>: establece y recupera la
- tasa en milisegundos, en la que se harán cambios cuando un botón
- se mantiene presionado.
- </para></listitem>
- <listitem><para>
- <code>setLargeDelta($delta)</code> y
- <code>getLargeDelta()</code>: establece y recupera la cantidad
- en la que el valor numérico debería cambiar cuando un botón se
- mantiene presionado.
- </para></listitem>
- <listitem><para>
- <code>setSmallDelta($delta)</code> y
- <code>getSmallDelta()</code>: establece y recupera el delta con
- la que el número debería cambiar cuando se pulsa un botón una vez.
- </para></listitem>
- <listitem><para>
- <code>setIntermediateChanges($flag)</code> y
- <code>getIntermediateChanges()</code>: establece y recupera el
- flag que indica si debe o no ser mostrado cada cambio de valor
- cuando un botón se mantiene presionado.
- </para></listitem>
- <listitem><para>
- <code>setRangeMessage($message)</code> y
- <code>getRangeMessage()</code>: establece y recupera el mensaje
- indicando el rango de valores disponibles.
- </para></listitem>
- <listitem><para>
- <code>setMin($value)</code> y <code>getMin()</code>:
- establece y recupera el valor mínimo posible.
- </para></listitem>
- <listitem><para>
- <code>setMax($value)</code> y <code>getMax()</code>:
- establece y recupera el valor máximo posible.
- </para></listitem>
- </itemizedlist>
- <example id="zend.dojo.form.elements.numberSpinner.example">
- <title>Ejemplo de Uso del Elemento NumberSpinner dijit</title>
- <programlisting role="php"><![CDATA[
- $form->addElement(
- 'NumberSpinner',
- 'foo',
- array(
- 'value' => '7',
- 'label' => 'NumberSpinner',
- 'smallDelta' => 5,
- 'largeDelta' => 25,
- 'defaultTimeout' => 500,
- 'timeoutChangeRate' => 100,
- 'min' => 9,
- 'max' => 1550,
- 'places' => 0,
- 'maxlength' => 20,
- )
- );
- ]]></programlisting>
- </example>
- </sect3>
- <sect3 id="zend.dojo.form.elements.numberTextBox">
- <title>NumberTextBox</title>
- <para>
- Un cuadro de texto numérico es un elemento de texto de introducción
- de valores numéricos; a diferencia de NumberSpinner, se introducen
- manualmente. Se pueden proporcionar validaciones y restricciones para
- garantizar que el número permanece en un rango o formato particular.
- </para>
- <para>
- Internmente, NumberTextBox proviene de <link
- linkend="zend.dojo.form.elements.validationTextBox">ValidationTextBox</link>
- y <link linkend="zend.dojo.form.elements.textBox">TextBox</link>;
- todos los métodos disponibles a esas clases están disponibles.
- Además, los siguientes métodos pueden utilizarse para establecer
- restricciones individuales:
- </para>
- <itemizedlist>
- <listitem><para>
- <code>setLocale($locale)</code> y <code>getLocale()</code>:
- especifica y recupera un "locale" determinado o alternativo para
- usar con este dijit.
- </para></listitem>
- <listitem><para>
- <code>setPattern($pattern)</code> y
- <code>getPattern()</code>: establece y recupera un <ulink
- url="http://www.unicode.org/reports/tr35/#Number_Format_Patterns">
- patrón de formato numérico </ulink> a usar en el formateo de
- números.
- </para></listitem>
- <listitem><para>
- <code>setType($type)</code> y <code>getType()</code>:
- establece y recupera el tipo de formato numérico a utilizar
- (deberán ser uno de 'decimal', 'percent', o 'currency').
- </para></listitem>
- <listitem><para>
- <code>setPlaces($places)</code> y <code>getPlaces()</code>:
- establece y recupera el número de decimales que soportará.
- </para></listitem>
- <listitem><para>
- <code>setStrict($flag)</code> y <code>getStrict()</code>:
- establece y recupera el valor estricto del flag, que indica
- cuánta indulgencia es permitida en relación con espacios en
- blanco y con caracteres no numéricos.
- </para></listitem>
- </itemizedlist>
- <example id="zend.dojo.form.elements.numberTextBox.example">
- <title>Ejemplo de Uso del Elemento NumberTextBox dijit</title>
- <programlisting role="php"><![CDATA[
- $form->addElement(
- 'NumberTextBox',
- 'elevation',
- array(
- 'label' => 'NumberTextBox',
- 'required' => true,
- 'invalidMessage' => 'Invalid elevation.',
- 'places' => 0,
- 'constraints' => array(
- 'min' => -20000,
- 'max' => 20000,
- ),
- )
- );
- ]]></programlisting>
- </example>
- </sect3>
- <sect3 id="zend.dojo.form.elements.passwordTextBox">
- <title>PasswordTextBox</title>
- <para>
- PasswordTextBox es simplemente un ValidationTextBox que está ligado
- a una contraseña; su único objetivo es permitir la entrada de texto
- de contraseñas de dijit que también proporciona validación del
- lado del cliente.
- </para>
- <para>
- Internmente, PasswordTextBox proviene de <link
- linkend="zend.dojo.form.elements.validationTextBox">ValidationTextBox</link>
- y <link linkend="zend.dojo.form.elements.textBox">TextBox</link>;
- todos los métodos disponibles a esas clases están disponibles.
- </para>
- <example id="zend.dojo.form.elements.passwordTextBox.example">
- <title>Ejemplo de Uso del Elemento PasswordTextBox dijit</title>
- <programlisting role="php"><![CDATA[
- $form->addElement(
- 'PasswordTextBox',
- 'password',
- array(
- 'label' => 'Password',
- 'required' => true,
- 'trim' => true,
- 'lowercase' => true,
- 'regExp' => '^[a-z0-9]{6,}$',
- 'invalidMessage' => 'Invalid password; ' .
- 'must be at least 6 alphanumeric characters',
- )
- );
- ]]></programlisting>
- </example>
- </sect3>
- <sect3 id="zend.dojo.form.elements.radioButton">
- <title>RadioButton</title>
- <para>
- RadioButton envuelve a elementos standard de entrada tipo radio para
- brindar un look-and-feel consistente con otros dojo dijits.
- </para>
- <para>
- RadioButton se extiende desde DijitMulti, que le permite especificar
- la selección de opciones vía los métodos
- <code>setMultiOptions()</code> y <code>setMultiOption()</code>.
- </para>
- <para>
- Por defecto, este elemento registra un validador <code>InArray</code>
- que valida contra las calves del array de las opciones registradas.
- Puede desactivar este comportamiento ya sea llamando a
- <code>setRegisterInArrayValidator(false)</code>, o pasando un valor
- falso a la clave de configuración <code>registerInArrayValidator</code>.
- </para>
- <example id="zend.dojo.form.elements.radioButton.example">
- <title>Ejemplo de Uso del Elemento RadioButton dijit</title>
- <programlisting role="php"><![CDATA[
- $form->addElement(
- 'RadioButton',
- 'foo',
- array(
- 'label' => 'RadioButton',
- 'multiOptions' => array(
- 'foo' => 'Foo',
- 'bar' => 'Bar',
- 'baz' => 'Baz',
- ),
- 'value' => 'bar',
- )
- );
- ]]></programlisting>
- </example>
- </sect3>
- <sect3 id="zend.dojo.form.elements.simpletextarea">
- <title>SimpleTextarea</title>
- <para>
- SimpleTextarea actúa principalmente como un textarea estándar de HTML.
- Sin embargo, no permite establecer filas ni columnas.
- En su lugar, el ancho de textarea debe especificarse utilizando
- medidas CSS estándar. A diferencia de Textarea, esta no aumentará
- automáticamente.
- </para>
- <example id="zend.dojo.form.elements.simpletextarea.example">
- <title>Ejemplo de Uso del Elemento SimpleTextarea dijit</title>
- <programlisting role="php"><![CDATA[
- $form->addElement(
- 'SimpleTextarea',
- 'simpletextarea',
- array(
- 'label' => 'SimpleTextarea',
- 'required' => true,
- 'style' => 'width: 80em; height: 25em;',
- )
- );
- ]]></programlisting>
- </example>
- </sect3>
- <sect3 id="zend.dojo.form.elements.slider">
- <title>Elemento abstracto Slider</title>
- <para>
- Slider es un elemento abstracto que proviene de ambos
- <link linkend="zend.dojo.form.elements.horizontalSlider">HorizontalSlider</link>
- y
- <link linkend="zend.dojo.form.elements.verticalSlider">VerticalSlider</link>.
- Expone una serie de métodos comunes para configurar sus deslizadores,
- incluyendo a:
- </para>
- <itemizedlist>
- <listitem><para>
- <code>setClickSelect($flag)</code> y
- <code>getClickSelect()</code>: establece y recupera el flag
- que indica cuando al presionar el botón deslizante cambia o no
- el valor.
- </para></listitem>
- <listitem><para>
- <code>setIntermediateChanges($flag)</code> y
- <code>getIntermediateChanges()</code>: establece y recupera el
- flag que indica si dijit enviará o no una notificación sobre
- cada evento de cambio del deslizador.
- </para></listitem>
- <listitem><para>
- <code>setShowButtons($flag)</code> y
- <code>getShowButtons()</code>: establece y recupera el flag que
- indica si los botones de uno u otro extremo se mostrarán o no;
- si es así, el usuario puede hacer clic sobre éstos para cambiar
- el valor de la barra deslizante.
- </para></listitem>
- <listitem><para>
- <code>setDiscreteValues($value)</code> y
- <code>getDiscreteValues()</code>: establece y recupera el número
- de valores discretos representados por el deslizador.
- </para></listitem>
- <listitem><para>
- <code>setMaximum($value)</code> y <code>getMaximum()</code>:
- establece y recupera el valor máximo del deslizador.
- </para></listitem>
- <listitem><para>
- <code>setMinimum($value)</code> y <code>getMinimum()</code>:
- establece y recupera el valor mínimo del deslizador.
- </para></listitem>
- <listitem><para>
- <code>setPageIncrement($value)</code> y
- <code>getPageIncrement()</code>: establece la cantidad en que
- cambiará el deslizador por eventos del teclado.</para>
- </listitem>
- </itemizedlist>
- <para>
- Ejemplos de uso provistos con cada clase extendida concretamente.
- </para>
- </sect3>
- <sect3 id="zend.dojo.form.elements.submitButton">
- <title>SubmitButton</title>
- <para>
- Si bien no hay Dijit llamado SubmitButton, incluimos uno aquí para
- proporcionar un botón dijit capaz de enviar un formulario sin que se
- exijan ligaduras con javascript.
- Funciona exactamente igual que el
- <link linkend="zend.dojo.form.elements.button">Button dijit</link>.
- </para>
- <example id="zend.dojo.form.elements.submitButton.example">
- <title>Ejemplo de Uso del Elemento SubmitButton dijit</title>
- <programlisting role="php"><![CDATA[
- $form->addElement(
- 'SubmitButton',
- 'foo',
- array(
- 'required' => false,
- 'ignore' => true,
- 'label' => 'Submit Button!',
- )
- );
- ]]></programlisting>
- </example>
- </sect3>
- <sect3 id="zend.dojo.form.elements.textBox">
- <title>TextBox</title>
- <para>
- Textbox se incluyó principalmente para proporcionar una entrada de
- texto con apariencia coherente y con el look-and-feel de los demás dijits.
- Sin embargo, también incluye algunas pequeñas capacidades de
- filtrado y validación, representadas en los métodos siguientes:
- </para>
- <itemizedlist>
- <listitem><para>
- <code>setLowercase($flag)</code> y
- <code>getLowercase()</code>: establece y recupera el flag que
- indica si la entrada debe o no ser presentada en minúsculas.
- </para></listitem>
- <listitem><para>
- <code>setPropercase($flag)</code> y
- <code>getPropercase()</code>: establece y recupera el flag que
- indica si la entrada debe ser o no ser presentada como Proper
- Case.
- </para></listitem>
- <listitem><para>
- <code>setUppercase($flag)</code> y <code>getUppercase()</code>:
- establece y recupera el flag que indica si la entrada debe ser
- presentada como mayúsculas (UPPERCASE).
- </para></listitem>
- <listitem><para>
- <code>setTrim($flag)</code> y <code>getTrim()</code>:
- establece y recupera el flag que indica si los espacios al
- comienzo o al final deben ser eliminados o no.
- </para></listitem>
- <listitem><para>
- <code>setMaxLength($length)</code> y
- <code>getMaxLength()</code>: establece y recupera la longitud
- máxima del input.
- </para></listitem>
- </itemizedlist>
- <example id="zend.dojo.form.elements.textBox.example">
- <title>Ejemplo de Uso del Elemento TextBox dijit</title>
- <programlisting role="php"><![CDATA[
- $form->addElement(
- 'TextBox',
- 'foo',
- array(
- 'value' => 'some text',
- 'label' => 'TextBox',
- 'trim' => true,
- 'propercase' => true,
- )
- );
- ]]></programlisting>
- </example>
- </sect3>
- <sect3 id="zend.dojo.form.elements.textarea">
- <title>Textarea</title>
- <para>
- Textarea actúa principalmente como un textarea estándar de HTML.
- Sin embargo, no permite establecer filas y columnas.
- En su lugar, el ancho de la textarea debe especificarse utilizando
- medidas CSS estándar; las filas debe omitirse totalmente.
- Luego, la textarea crecerá verticalmente tanto como texto se añada
- a ella.
- </para>
- <example id="zend.dojo.form.elements.textarea.example">
- <title>Ejemplo de Uso del Elemento Textarea dijit</title>
- <programlisting role="php"><![CDATA[
- $form->addElement(
- 'Textarea',
- 'textarea',
- array(
- 'label' => 'Textarea',
- 'required' => true,
- 'style' => 'width: 200px;',
- )
- );
- ]]></programlisting>
- </example>
- </sect3>
- <sect3 id="zend.dojo.form.elements.timeTextBox">
- <title>TimeTextBox</title>
- <para>
- TimeTextBox es una entrada de texto que proporciona una lista
- desplegable (drop-down) para seleccionar un tiempo (fecha y hora).
- La lista desplegable, puede ser configurada para mostrar una cierta
- ventana de tiempo, con incrementos especificados.
- </para>
- <para>
- Internamente, TimeTextBox proviene de <link
- linkend="zend.dojo.form.elements.dateTextBox">DateTextBox</link>,
- <link
- linkend="zend.dojo.form.elements.validationTextBox">ValidationTextBox</link>
- y <link linkend="zend.dojo.form.elements.textBox">TextBox</link>;
- todos los métodos disponibles a esas clases están disponibles.
- Además, los siguientes métodos pueden utilizarse para establecer
- restricciones individuales:
- </para>
- <itemizedlist>
- <listitem><para>
- <code>setTimePattern($pattern)</code> y
- <code>getTimePattern()</code>: establece y recupera el <ulink
- url="http://www.unicode.org/reports/tr35/#Date_Format_Patterns">patrón
- de formato de fecha y hora unicode</ulink> para el formato
- correspondiente.
- </para></listitem>
- <listitem><para>
- <code>setClickableIncrement($format)</code> y
- <code>getClickableIncrement()</code>: establece y recupera el
- string <ulink
- url="http://en.wikipedia.org/wiki/ISO_8601">ISO-8601</ulink>
- representando la cantidad de tiempo a incrementar cada vez que
- se recolecta un elemento clickable.
- </para></listitem>
- <listitem><para>
- <code>setVisibleIncrement($format)</code> y
- <code>getVisibleIncrement()</code>: establece y recupera el
- incremento visible en el selector de tiempo; debe seguir los
- formatos ISO-8601.
- </para></listitem>
- <listitem><para>
- <code>setVisibleRange($format)</code> y
- <code>getVisibleRange()</code>: establece y recupera el intervalo
- de tiempo visible en el selector de tiempo en cualquier momento;
- debe seguir los formatos ISO-8601.
- </para></listitem>
- </itemizedlist>
- <example id="zend.dojo.form.elements.timeTextBox.example">
- <title>Ejemplo de Uso del Elemento TimeTextBox dijit</title>
- <para>
- Lo siguiente creará un TimeTextBox que muestra 2 horas a la vez,
- con incrementos de 10 minutos.
- </para>
- <programlisting role="php"><![CDATA[
- $form->addElement(
- 'TimeTextBox',
- 'foo',
- array(
- 'label' => 'TimeTextBox',
- 'required' => true,
- 'visibleRange' => 'T04:00:00',
- 'visibleIncrement' => 'T00:10:00',
- 'clickableIncrement' => 'T00:10:00',
- )
- );
- ]]></programlisting>
- </example>
- </sect3>
- <sect3 id="zend.dojo.form.elements.validationTextBox">
- <title>ValidationTextBox</title>
- <para>
- ValidationTextBox ofrece la posibilidad de añadir validaciones y
- limitaciones a una entrada de texto. Internamente, proviene de
- <link linkend="zend.dojo.form.elements.textBox">TextBox</link>,
- y añade los siguientes accessors y mutators para manejar
- parámetros dijit:
- </para>
- <itemizedlist>
- <listitem><para>
- <code>setInvalidMessage($message)</code> y
- <code>getInvalidMessage()</code>: establece y recupera el mensaje
- de tooltip para mostrar cuando el valor no se validó.
- </para></listitem>
- <listitem><para>
- <code>setPromptMessage($message)</code> y
- <code>getPromptMessage()</code>: establece y recupera el mensaje
- de tooltip a mostrar para el uso del elemento.
- </para></listitem>
- <listitem><para>
- <code>setRegExp($regexp)</code> y <code>getRegExp()</code>:
- establece y recupera la expresión regular a utilizar para validar
- el elemento. La expresión regular no necesita límites
- (a diferencia de la familia de funciones preg*, de PHP).
- </para></listitem>
- <listitem><para>
- <code>setConstraint($key, $value)</code> y
- <code>getConstraint($key)</code>: establece y recupera
- restricciones adicionales para utilizar al validar el elemento;
- se utiliza principalmente con subclases. Las restricciones son
- almacenados en la clave 'constraints' de los parámetros dijit.
- </para></listitem>
- <listitem><para>
- <code>setConstraints(array $constraints)</code> y
- <code>getConstraints()</code>: establece y recupera las
- restricciones para utilizar al validar el elemento; se utiliza
- principalmente con subclases.
- </para></listitem>
- <listitem><para>
- <code>hasConstraint($key)</code>: prueba si una restricción
- dada existe.
- </para></listitem>
- <listitem><para>
- <code>removeConstraint($key)</code> y
- <code>clearConstraints()</code>: elimina una restricción
- individual o todas las restricciones para el elemento.
- </para></listitem>
- </itemizedlist>
- <example id="zend.dojo.form.elements.validationTextBox.example">
- <title>Ejemplo de Uso del Elemento ValidationTextBox dijit</title>
- <para>
- Lo siguiente creará un ValidationTextBox que requiere un solo
- string compuesto exclusivamente por caracteres de palabra
- (es decir, sin espacios, la mayor parte de la puntuación es inválida).
- </para>
- <programlisting role="php"><![CDATA[
- $form->addElement(
- 'ValidationTextBox',
- 'foo',
- array(
- 'label' => 'ValidationTextBox',
- 'required' => true,
- 'regExp' => '[\w]+',
- 'invalidMessage' => 'Invalid non-space text.',
- )
- );
- ]]></programlisting>
- </example>
- </sect3>
- <sect3 id="zend.dojo.form.elements.verticalSlider">
- <title>VerticalSlider</title>
- <para>
- VerticalSlider es el hermano de <link
- linkend="zend.dojo.form.elements.horizontalSlider">HorizontalSlider</link>,
- y opera en todos los sentidos como ese elemento.
- La única diferencia real es que los métodos 'top*' y 'bottom*' son
- sustituidos por 'left*' y 'right*', y en lugar de utilizar
- HorizontalRule y HorizontalRuleLabels, debe usarse VerticalRule y
- VerticalRuleLabels.
- </para>
- <example id="zend.dojo.form.elements.verticalSlider.example">
- <title>Ejemplo de Uso del Elemento VerticalSlider dijit</title>
- <para>
- Lo siguiente creará una selección deslizante vertical con valores
- enteros desde -10 a 10. La izquierda tendrá etiquetas en las
- marcas correspondientes al 20%, 40%, 60%, y 80%. El derecho
- tiene reglas en un 0, 50%, y 100%. Cada vez que se cambie el
- valor, se actualizará el elemento oculto que almacena el valor.
- </para>
- <programlisting role="php"><![CDATA[
- $form->addElement(
- 'VerticalSlider',
- 'foo',
- array(
- 'label' => 'VerticalSlider',
- 'value' => 5,
- 'style' => 'height: 200px; width: 3em;',
- 'minimum' => -10,
- 'maximum' => 10,
- 'discreteValues' => 11,
- 'intermediateChanges' => true,
- 'showButtons' => true,
- 'leftDecorationDijit' => 'VerticalRuleLabels',
- 'leftDecorationContainer' => 'leftContainer',
- 'leftDecorationLabels' => array(
- ' ',
- '20%',
- '40%',
- '60%',
- '80%',
- ' ',
- ),
- 'rightDecorationDijit' => 'VerticalRule',
- 'rightDecorationContainer' => 'rightContainer',
- 'rightDecorationLabels' => array(
- '0%',
- '50%',
- '100%',
- ),
- )
- );
- ]]></programlisting>
- </example>
- </sect3>
- </sect2>
- <!--
- vim:se ts=4 sw=4 et:
- -->
|