Al trabajar con formularios en ActivityInfo, los registros en la tabla interactiva se marcan como válidos o inválidos. Aunque las reglas de validación desempeñan un papel importante en este proceso, son solo una parte de cómo ActivityInfo determina si un registro es válido.
Este artículo explica qué determina la validez general de un registro.
¿Qué es la validez de un registro?
Un registro se considera válido cuando cumple todas las restricciones y reglas de validación definidas en el formulario en cualquier momento.
Como resultado:
- Un registro que era válido cuando se creó puede volverse inválido más tarde
- Pueden aparecer errores de validación aunque nadie haya editado los datos
Este comportamiento está siempre presente en ActivityInfo, pero se hace visible en la tabla interactiva, donde se muestran muchos registros a la vez y las celdas inválidas se resaltan inmediatamente.
Factores que afectan la validez del formulario
La validez de los registros en ActivityInfo está determinada por múltiples propiedades del formulario, incluyendo:
- Reglas de validación
- Campos obligatorios
- Campos clave y únicos
- Reglas de relevancia
- Máscaras de entrada
- Valores predeterminados
Reglas de validación
Reglas de validación que usan fecha y hora
Cuando las reglas de validación dependen de la fecha u hora actual.
Functiones como:
Estas functiones devuelven valores diferentes a medida que pasa el tiempo. Por lo tanto, las reglas de validación que utilizan estas functiones cambiarán su resultado con el tiempo.
Ejemplo
SESSION_DATE >= ADDDATE(TODAY(), -7) &&
SESSION_DATE < ADDDATE(TODAY(), 7)
Esta regla requiere que la fecha de la sesión esté dentro de los siete días a partir de hoy. La regla puede cumplirse cuando el registro se añade por primera vez, pero semanas después el mismo registro puede quedar fuera de este rango y volverse inválido.
Al ver los datos en la tabla interactiva, esto puede hacer que muchos registros muestren errores de validación al mismo tiempo.
Revise cada regla de validación y determine si su propósito es:
- Ser siempre
truedurante la vida del registro. - Aplicarse solo cuando los datos se introducen por primera vez.
- Relaciones lógicas entre campos (por ejemplo, una fecha de inicio anterior a una fecha de finalización)
- Límites numéricos que nunca deben excederse
Reglas que solo deben aplicarse cuando se introducen los datos
Estas reglas son adecuadas para la validación continua y se comportan de la misma manera en los formularios y en la tabla interactiva.
Si una regla está destinada a validar los datos solo en el momento en que se introducen, esto debe hacerse explícito en la fórmula.
Un enfoque común es aplicar la regla de validación solo mientras el registro es nuevo.
IF(ISBLANK(_lastEditTime), START_DATE < TODAY(), TRUE)
Con esta regla:
- Los registros nuevos deben cumplir el requisito de fecha
- Los registros existentes siguen siendo válidos a medida que pasa el tiempo
Esto evita que los datos históricos se vuelvan inválidos cuando se ven en la tabla interactiva.
Campos obligatorios
Los campos obligatorios deben contener un valor para que el registro pueda considerarse válido.
Si un campo obligatorio está vacío:
- El registro se marca como inválido en la tabla interactiva
- El campo que falta se resalta
- El registro no se puede enviar hasta que se complete el campo
Es importante tener en cuenta que el estado de obligatorio se evalúa en combinación con las reglas de relevancia. Un campo que no es relevante (escondido debido a una condición de relevancia) no es obligatorio. Sin embargo, si el campo se vuelve relevante y permanece vacío, el registro se vuelve inválido.
Si se introducen campos obligatorios después de que ya existan registros en el formulario, esos registros pueden volverse inválidos si no contienen valores que cumplan los nuevos requisitos.
Campos clave y únicos
Los campos marcados como clave o únicos garantizan la unicidad a nivel de formulario.
Un campo clave identifica un registro. Dos registros en el mismo formulario no pueden compartir el mismo valor clave.
Un campo único garantiza que no haya dos registros que contengan el mismo valor en ese campo.
Si se introduce un valor duplicado:
- El registro se marca inmediatamente como inválido
- El conflicto de duplicado debe resolverse antes de que el registro sea válido
La unicidad se comprueba en todos los registros del formulario, no solo en la página actual de la tabla interactiva.
Estas restricciones se utilizan comúnmente para identificadores como:
- Números de registro
- ID de hogar
- Números de identificación nacional
- Códigos de instalación
Debido a que la unicidad se aplica a nivel de la base de datos, afecta directamente la validez general del registro.
Reglas de relevancia
Las reglas de relevancia determinan si un campo es aplicable en un contexto determinado.
Cuando una condición de relevancia se evalúa como false:
- El campo está escondido
- El campo no es obligatorio
- Su valor no afecta la validez del registro
Sin embargo, cuando la condición de relevancia se evalúa como true:
- El campo se vuelve visible
- Si está marcado como obligatorio, debe completarse
- Su valor se evalúa frente a otras restricciones
Por ejemplo:
- Un campo de "Estado de embarazo" solo puede ser relevante si Género = Femenino
Si un campo se vuelve relevante y es obligatorio pero permanece vacío, el registro se vuelve inválido.
Por lo tanto, las reglas de relevancia influyen indirectamente en la validez al controlar qué restricciones se aplican en un momento dado.
Máscaras de entrada
Las máscaras de entrada aplican reglas de formateo para los campos de texto.
Una máscara de entrada define la estructura requerida de un valor, como:
- Números de teléfono
- Formatos de ID nacional
- Códigos postales
- Códigos o identificadores estructurados
Si un valor no coincide con el formato definido:
- El campo se marca
- El registro se marca como inválido
- El valor debe corregirse antes de que el registro sea válido
Las máscaras de entrada garantizan un formateo coherente en todos los registros, lo que mejora la calidad de los datos y el análisis posterior.
A diferencia de las reglas de validación, las máscaras de entrada se centran estrictamente en el formato en lugar de en las relaciones lógicas entre los campos.
Valores predeterminados
Los valores predeterminados rellenan automáticamente un campo cuando se crea un nuevo registro. Están diseñados para mejorar la eficiencia rellenando previamente los valores de uso común, como un estado, un período de informe o un cero para los campos numéricos.
Los valores predeterminados se aplican una sola vez, en el momento de la creación del registro. No se reevalúan continuamente después de que el registro es guardado.
Los valores predeterminados pueden usar expresiones como TODAY() o NOW(). Cuando se usan, estas functiones capturan la fecha u hora actual en el momento en que se crea el registro. El valor no se actualiza después.
Los valores predeterminados no determinan directamente la validez del registro. Sin embargo, pueden influir en ella indirectamente. Por ejemplo:
- Un valor predeterminado puede ayudar a satisfacer un campo obligatorio
- Un valor predeterminado puede violar una regla de validación
- Un valor predeterminado en un campo único puede crear un duplicado
La validez general del registro sigue estando determinada por todas las restricciones aplicables en el formulario.
Resumen
En ActivityInfo, un registro es válido solo cuando cumple todas las restricciones definidas en el formulario. El indicador de validez en la tabla interactiva refleja el estado general del registro, no solo el resultado de las reglas de validación.
La validez del registro puede verse afectada por los campos obligatorios, las restricciones de clave y único, las reglas de relevancia, las máscaras de entrada, las reglas de validación y los valores predeterminados que interactúan con otras restricciones.
Las reglas de validación son solo una parte de este marco más amplio. Un registro inválido no significa necesariamente que una regla de validación haya fallado.
La tabla interactiva no cambia el funcionamiento de la validez de los registros. Simplemente hace más visibles los registros que infringen las restricciones, incluidas las reglas de validación.
Entender cómo funcionan estos elementos en conjunto ayuda a los usuarios a diagnosticar y resolver los registros inválidos de manera más eficaz.