Contenido
Texto de ayuda y Guías para el usuario
Hay dos opciones que se pueden emplear para agregar texto que facilite la comprensión del usuario en cuanto a qué o cómo responder. Estas son el texto de ayuda y las guías.
Texto de ayuda

El texto de ayuda se coloca debajo de la pregunta en cursiva. El texto de ayuda siempre se incluye cuando se muestra una pregunta en la pantalla y el usuario probablemente las encontrará menos útiles a medida que se familiarice con el formulario. Por lo tanto, probablemente desee mantenerlos bastante cortos para que no ocupen demasiado espacio en la pantalla y no sean una distracción de la pregunta.
Cómo se usa (visualiza)
En Dispositivo móvil:

En Form web:

Cómo se diseña (define en un formulario):
En Editor Web:
Seleccione la opción texto de ayuda y allí escriba la información

En plantilla Excel:
Escriba el texto de ayuda en la columna hint

Guía

La ayuda más extensa se puede colocar en la guía. A diferencia del texto de ayuda esta puede no mostrarse siempre y el usuario puede verla solo cuando sea necesario.
Cómo se usa (visualiza)
En Dispositivo móvil:
La visualización de la guía en el dispositivo móvil se puede configurar de forma general para la organización o desde el teléfono por cada usuario. Para ver como configurar la guía dirijase a los artículos Opciones en la aplicación móvil y Navegagación en la aplicación móvil.
Las opciones son:
- No
- Sí, siempre se muestra
- Sí – colapsado
La siguiente imagen muestra el uso de “Sí – contraído”. En el teléfono de la izquierda, la guía no se ha ampliado, en el teléfono de la derecha se ha ampliado.


En Form web:
En formularios web la guía aparece contraida por defecto y al dar clic en Más detalles podrá ver la información


Cómo se diseña (define en un formulario):
En Editor Web:

En plantilla Excel:
Coloque la información en la columna guidance_hint

Nota: Al igual que las preguntas, tanto el texto de ayuda como la guía se peuden especificar en varios idiomas.
Referenciando una respuesta de otra pregunta

Puede hacer referencia a otras preguntas para usarlas en etiquetas, restricciones, relevancia y cálculos. Para ello encierre el nombre de la pregunta en ${pregunta}. Por ejemplo: ${edad}
Si la pregunta corresponde a selección única, se puede hacer referencia a la etiqueta de selección usando: jr:choice-name(${pregunta}, ‘${pregunta}’). Por ejemplo:
jr:choice-name(${tipo_de_transporte}, ‘${tipo_de_transporte}’)
Note que el Segundo parámetro lleva comillas simples (‘).
Relevancia

En los formularios no se saltan o ignoran las preguntas sino que se verifica si una pregunta es “relevante” antes de formularla, si la pregunta no es relevante, no se formulará y por lo tanto se omitirá.
Cómo se diseña (define en un formulario):
Veamoslo con un ejemplo, si tengo un formulario con las preguntas edad y si esta o no casado y deseo que la pregunta solo se realice si la persona es mayor de 18 años. Es aqui donde usare la relevancia.
En Editor Web:
Seleccione relevancia y haciendo referencia a la pregunta establezca la condición que se debe cumplir.

En plantilla Excel:
Coloque la condición de relevancia en la columna relevant de la hoja survey.

Restricción y mensaje de restricción

Las restricciones se utilizan para evitar que el usuario continúe si ingresó una respuesta no válida. Las restricciones se verifican después de que el usuario ha terminado de responder una pregunta y a medida que avanza a la siguiente.
Una restricción generalmente necesita referirse a la respuesta de la pregunta actual para verificar si esa respuesta es válida, para esto se utiliza un “.” (un punto). Este comportamiento difiere de la relevancia donde las reglas se verifican antes de formular una pregunta. Por lo tanto, una relevancia nunca debe referirse al valor de su propia pregunta.
Mensaje de restricción
Si se viola una restricción, el mensaje de error predeterminado no es muy útil:
¡Respuesta invalida!
Adicionalmente, el mensaje también estará en el idioma del teléfono y no necesariamente en el idioma del formulario. Con esta opción usted puede agregar un mensaje que indique al usuario cual es la restricción de la pregunta o el porque no puede continuar.
Si su formulario tiene varios idiomas y desea mostrar un mensaje de restricción diferente para cada idioma puede hacerlo de forma similar a como maneja los distintos idiomas en las etiquetas, texto de ayuda y guías.
Cómo se usa (visualiza)
En Dispositivo móvil:


En Form web:


Cómo se diseña (define en un formulario):
En Editor Web:
La restricción se indica con la en la opción restricción.

El mensaje de restricción, en Mens. Restricción

En plantilla Excel:
La restricción coloquela en la columna constraint de la hoja survey y el mensaje de restricción en la columna constraint_message.

Sintaxis en Restricción y Relevancia
| Operador | Uso | Ejemplo | Notas |
|---|---|---|---|
| Hacer referencia a la propia respuesta | . | . < 5 | En una constraint, El punto (.) se refiere al valor capturado en la pregunta. En este caso el valor debe ser menor a 5. |
| Negación | not(expression) | not(selected(${pregunta}, ‘c’)) | La pregunta es relevant en la medida que ‘c’ no haya sido seleccionada en la pregunta: pregunta |
| Y | and | selected(., ‘c’) and selected(., ‘d’) | En una constraint, tanto ‘c’ y ‘d’ necesitan haber sido seleccionadas en la pregunta actual |
| Ó | or | selected(., ‘c’) or selected(., ‘d’) | En una constraint, cualquiera de las dos ‘c’ o ‘d’ necesitan haber sido seleccionadas en la pregunta actual |
| Mayor que | > | . > 10.51 | En una constraint, la pregunta actual debe ser mayor que 10.51. Se puede combinar con igual (=) para hacer “mayor o igual que” >= |
| Menor que | < | . < 10.51 | En una constraint, la pregunta actual debe ser menor que 10.51. Se puede combinar con igual (=) para hacer “menor o igual que” <= |
| Respuesta seleccionada | selected((${pregunta}, value) | relevant=”selected(${pregunta}, ‘n’)” | Es relevante si la respuesta ha sido seleccionada en la pregunta de selección multiple. |
| Contar número respuestas seleccionadas | count-selected(${multiple_choice_q}) | count-selected( . ) < 4 El número de opciones seleccionadas en la pregunta de selección multiple debe ser menor que 4. | |
| Valor (n+1)-esimo Seleccionado | selected-at(${multiple_choice_q}), n) | selected-at(multi-select, 3) | Al usarlo con position(..) en un grupo de repetición debe restarse uno.position(..) – 1 |
| Expresión Regular | regex(value, expression) | constraint=”regex(., ‘[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}’)” [A-Za-z0-9._%+-]+ Indica cualquier caracter mayuscula, minúscula, digitos y ._%+- son permitidos. Por ejemplo $#& y otros no son permitidos @ debe ir \. representa el punto porque el punto sólo representa cualquier caracter. {2,4} indica mínimo 2 y máx 4 regex(.,[A-Z]+) regex(.,[A-Z0-9]+) | En este ejemplo se valida los caracteres permitidos en un correo electrónico. Ver definición en Wikipedia aquí Aqui se valida cualquier número de caracteres pero sólo admite MAYUSCULAS y números. Correcto: 893AZ2 BGH333 FFGHHJ Incorrecto: 45gh75 |
| Igual | = | . = number(’10’)” | En una restricción, respuesta actual debe ser igual a 10. En este ejemplo se usa la función number para convertir texto a número antes de hacer la evaluación. |
| Condicional (if) | if(condition, a, b) Si la condición es verdadera ( true) aplica “a” De lo contratrio usa “b” | if(${count} < 10, ${count}, 10) | Si la cuenta es menor que 10 entonces use el valor, de lo contrario use 10. Este ejemplo usa el valor de repetición de un bloque begin repeat para definir un máximo |
| Largo del texto | string-length(question) | string-length(.) < 5 | En una constraint, la longitud de caracteres ingresados debe ser menos de 5 |
| Convierte a Booleano | boolean(* arg) | boolean(5) = true | Un número es true si y solo si es positive, negativo o cero. Un string es true si su longitud es mayor que cero. |
| Verdadero | true() | true | Devuelve valor true |
| Falso | False() | false | Devuelve Valor false |
| Convierte String a Boolean | Boolean-from-string(* arg) | Boolean-from-string(1) = true | Retorna valor true si el argumento es ‘true’ o 1 |
Preguntas obligatorias

A parte de las restricciones puede hacer que responder las preguntas sea obligatorio y así evitar que los usuarios pasen las preguntas sin responderlas.
Las preguntas obligatorias vienen acompañadas de un asterisco rojo (*) en el dispositivo móvil y un asterisco normal en formularios web.
Si el usuario intenta pasar a otra pregunta o enviar el formulario sin responder no podrá hacerlo y verá un mensaje indicandole que es obligatorio responder.
Otra consecuencia de no responder las preguntas es que si estas estan ligadas a la relevancia de otras preguntas el ususario pruede dejar de ver bloques completos de preguntas debido a que no se cumple la relevancia.
La obligatoriedad de la pregunta puede ser estática o dinámica, es decir, puede hacer la pregunta obligatoria solo por decisión o ligar la obligatoriedad de la pregunta a la veracidad de una expresión.
Mensaje de Texto requerido
Las preguntas obligatorias tienen mensajes por defecto para indicarle al usuario que no podrá seguir hasta tanto no responda las preguntas. Sin embargo, es posible cambiar este mensaje por uno personalizado si así lo desea.
Cómo se usa (visualiza)
En Dispositivo móvil:


En Form web:


Nota: tenga en cuenta que si el estilo del formulario web es grilla o ninguno, es decir, si todas las preguntas aparecen en una única pantalla, si bien el asterisco de indicación de obligatorio aparecerá, puede que los mensajes indicando cuando se salta una pregunta solo aparezcan en el momento de intentar enviar el formulario.
Estos mensajes aparecerán luego de una alerta que le indica que el formulario contiene errores y que revise los campos marcados en rojo.

Para el estilo páginas el mensaje aparecerá tan pronto intente pasar a la siguiente pregunta.
Expresión para hacer la pregunta obligatoria
usted puede hacer que la pregunta solo sea obligatoria si se cumple que la expresión indicada sea verdadera, de lo contrario responder la pregunta no será obligarorio.
Cómo se diseña (define en un formulario):
En Editor Web:
Seleccione la opción Obligatorio y dando clic en Si o No cambie esta propiedad.

El mensaje del texto requerido es opcional y se indica al lado de la opción Si o No. De no colocarlo el usuario verá el mensaje por defecto.

La expresión también es opcional si no se coloca la pregunta siempre sera obligatoria si se coloca la pregunta solo sera obligatoria de cumplirse la expresión.

En plantilla Excel:
Para establecer una pregunta como obligatoria escriba yes o la expresión que debe cumplir en la columna required. El mensaje de texto obligatorio es opcional y se escribe en la columna required_message de no definirse el usuario verá el mensaje por defecto.

Establecer todas las preguntas obligatorias
Desde el editor web es posible marcar como obligatorias o desmarcar todas las preguntas al mismo tiempo. Para ello en el menú de herramientas seleciione la opción Establecer todas como Obligatorias o establecer todas como Opcionales segun sea el caso.

Este enfoque no marca notas o grupos como obligatorios.
Preguntas de sólo lectura dinámicas

Al igual que con las preguntas dinámicas obligatorias, también puedes configurar una pregunta como de solo lectura o editable según una expresión. Esto solo esta disponible para formularios móviles no esta disponible para formularios web.
Cómo se diseña (define en un formulario):
En Editor Web:
Seleccione la opción Sólo Lectura y dando clic en Si o No cambie esta propiedad.

La expresión también es opcional si no se coloca la pregunta siempre será de sólo lectura si se coloca la pregunta solo será de sólo lectura de cumplirse la expresión.

En plantilla Excel:
Para establecer una pregunta como obligatoria escriba yes o la expresión que debe cumplir en la columna readonly.

Restricciones complejas
Hay ocasiones en las que la validación de una respuesta depende de acciones posteriores como por ejemplo cálculos o validar respuestas en conjunto. Por ejemplo, cuando se usa la respuesta a una pregunta para traer cierta información de datos externos, es posible que usted quiera validar que ese cálculo si da por resultado una información no vacia.
Para estos casos con el fin de evitar que el usuario continue completando el formulario con información no valida puede agregar una restricción que obligue al usuario a volver atrás y corregir estas preguntas.
Emplee una pregunta de tipo nota que es de solo lectura, coloquela con la relevancia necesaria para que aparezca si y solo si es necesario que el usuario retroceda y modifique otra(s) pregunta(s) y vuelvala obligatoria, el usuario no podrá continuar hasta tanto no vuelva atrás y corrija lo necesario.
Recuerde indicar en la nota las instrucciones para que el usuario corrija y pueda continuar.
Opciones de Apariencia (Que aplican a todas las preguntas)
| Apariencia | Resultado | Comentarios |
|---|---|---|
| phoneonly | No agrega los resultados a la base de datos. Permite recoger temporalmente datos sensitivos tales como nombres que puedan ser referenciados mientras se llena un formulario o hace una encuesta pero son removidos una vez se envía la información al servidor. | Usado en grupos y preguntas individuales: No se puede usar en “begin repeat” y solo funciona en subformularios a los cuales ha sido aplicado. Así si hay un subformulario dentro de un grupo que es phoneonly, todos los datos en el subformulario serán visibles a menos que “phoneonly” sea agregado a las preguntas en el subformulario. |
| hidden | No muestra la pregunta. Ej: hidden = yes | Usado principalmente cuando se generan tareas automaticas basado en resultados de cuestionarios diligenciados. Puede necesitar usar esos datos en cálculos pero no mostrarlos al usuario. No se puede incluir con otro valor de Apariencia |
