| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- 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, 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.
- </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.
- </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:
- -->
|