Busca en nuestra documentación, explora nuestros recursos y visita nuestro Foro de la Comunidad para obtener información más detallada
Última actualización: 24 Jun 2026
Las restricciones, también conocidas como criterios de validación, son un tipo de lógica de formulario que se utiliza para limitar las respuestas aceptables a una pregunta en función de una condición predefinida. Si no se cumple la condición de restricción, se muestra un mensaje de error personalizable que indica al usuario del formulario que ingrese una respuesta válida.
Para obtener más información sobre la lógica de formularios en XLSForm, consulta Introducción a la lógica de formularios en XLSForm.
Este artículo cubre los siguientes temas:
Agregar restricciones a preguntas en XLSForm
Combinar múltiples condiciones de restricción
Personalizar los mensajes de error de restricción
Restricciones avanzadas en XLSForm
Nota: Este artículo se centra en agregar restricciones en XLSForm. Para obtener información sobre cómo agregar restricciones en el KoboToolbox Formbuilder, consulta Añadir criterios de validación en el Formbuilder.
Para practicar con la adición de restricciones en XLSForm, consulta el curso XLSForm Fundamentals de la KoboToolbox Academy.
Las restricciones se construyen utilizando referencias a preguntas, operadores de comparación y constantes. Las condiciones de restricción deben cumplirse para validar o enviar un formulario. De lo contrario, aparece un mensaje de error y se impide que los usuarios avancen a la siguiente página o envíen el formulario.
Para agregar restricciones en XLSForm:
Añade una columna constraint a la hoja survey.
En la columna constraint, define la condición que debe cumplirse para que la respuesta sea válida.
Usa un punto . para hacer referencia a la pregunta en la fila donde estás agregando una restricción.
Usa un operador de comparación, seguido de un valor de referencia, para construir una restricción simple.
Por ejemplo, . > 18 restringe una pregunta de tipo integer para aceptar únicamente valores mayores que 18.
hoja survey
type |
name |
label |
constraint |
|---|---|---|---|
integer |
age |
What is your age? |
. >= 18 |
integer |
household |
How many people live in your household? |
. <= 30 |
integer |
income |
Out of those, how many earn income? |
. <= ${household} |
survey |
El valor de referencia en una condición de restricción debe coincidir con el type de la pregunta para la que estás agregando una restricción. A continuación se indican los formatos de los valores de referencia para los principales tipos de preguntas:
Tipo de pregunta |
Formato del valor de referencia |
Ejemplo |
|---|---|---|
integer |
Número |
|
select_one |
Nombre de la opción (tal como se define en la hoja choices) entre comillas |
|
select_multiple |
Nombre de la opción combinado con la función |
|
date |
Fecha en el formato |
|
text |
Texto entre comillas (raramente utilizado para restricciones) |
|
Para obtener más información sobre cómo construir expresiones de lógica de formularios en XLSForm, consulta Introducción a la lógica de formularios en XLSForm.
Es posible combinar varias condiciones de restricción en una sola expresión para determinar si una respuesta es válida. Las condiciones se pueden combinar usando los operadores lógicos and, or y not:
Usa and cuando todas las condiciones deben cumplirse para que una respuesta sea válida.
Por ejemplo: . > 18 and . < 65
Usa or cuando al menos una condición debe cumplirse para que una respuesta sea válida.
Por ejemplo: . < 18 or ${student} = “yes”
Usa not para indicar que una condición o conjunto de condiciones no debe cumplirse (por ejemplo, cuando dos condiciones no pueden ser verdaderas al mismo tiempo para que una respuesta sea válida).
Por ejemplo: not(. < 18 and ${household_head} = “yes”)
hoja survey
type |
name |
label |
hint |
constraint |
|---|---|---|---|---|
integer |
age |
What is your age? |
Must be less than 18 or above 65 to participate |
|
integer |
weight |
How much do you weigh? |
Must be between 30 and 200 kg |
|
survey |
De forma predeterminada, cuando el valor de una respuesta en el formulario no cumple la condición de restricción, aparece el mensaje de error «Value not allowed». Se recomienda personalizar este mensaje para informar a los usuarios por qué el valor no es válido, permitiéndoles corregir su entrada.
Para personalizar el mensaje de error de restricción:
Añade una columna constraint_message a la hoja survey.
En la columna constraint_message, ingresa el texto que deseas mostrar como mensaje de error cuando no se cumplan las condiciones de restricción.
hoja survey
type |
name |
label |
constraint |
constraint_message |
|---|---|---|---|---|
integer |
age |
What is your age? |
. >= 18 |
Must be older than 18. |
Más allá de las restricciones básicas, puedes personalizar las condiciones para garantizar la calidad de los datos y adaptarte a muchos escenarios de recolección de datos. Para construir condiciones de restricción más avanzadas en XLSForm:
Usa paréntesis para combinar más de dos condiciones
Usa funciones para mayor flexibilidad
Usa expresiones regulares para restringir las respuestas de texto
Algunos ejemplos de criterios de validación más avanzados incluyen:
Criterio |
Descripción |
|---|---|
|
La respuesta debe estar entre 17 y 130 o ser igual a 999 (utilizado frecuentemente para no-respuesta). |
|
Limita la selección múltiple a un máximo de tres opciones. |
|
Si la respuesta a |
|
La opción “none” no puede seleccionarse si se ha seleccionado cualquier otra respuesta en una pregunta de tipo |
|
La fecha ingresada debe ser anterior a la fecha de hoy. |
|
La entrada se restringe a dos números (usando expresiones regulares). |
|
La hora ingresada debe ser a las 12 p.m. o después. |
¿Encontraste lo que buscabas? ¿La información fue clara? ¿Faltaba algo?
¡Comparte tus comentarios para ayudarnos a mejorar este artículo!
KoboToolbox es mantenido por Kobo Inc.