Ir al contenido

Establecer reglas de validación para un campo

Una regla de validación evita que se guarde un dato que no sirve: un valor fuera de la lista o un campo vacío cuando ya no debería estarlo.

Las reglas de un campo personalizado viven en la definición del propio campo. Si es la primera vez que abres esa pantalla, empieza por Administrar las configuraciones de campos personalizados.

No todos los límites que acepta la definición se comprueban al guardar. Esta guía separa los que bloquean de los que solo quedan escritos.

Para añadirla a un campo que ya existe:

  1. En el menú lateral, abre Desarrollo → Campos Personalizados.
  2. Busca la fila del objeto donde vive el campo.
  3. Pulsa el menú de tres puntos de la fila y elige Editar.
  4. En el editor Campos personalizados, añade la clave enum al bloque de ese campo, con la lista de valores válidos:
{
"nivelDeServicio": {
"isCustomField": true,
"type": "string",
"label": "Nivel de servicio",
"enum": ["Básico", "Estándar", "Premium"]
}
}

Panel Editar Campo personalizado de Meeting con el editor Campos personalizados resaltado, mostrando un campo con enum y otro con pattern

  1. Pulsa Guardar.

En el formulario del registro, el campo se convierte en un desplegable que solo ofrece esos valores.

Formulario Crear Reunión con el desplegable DOC Nivel de servicio abierto y sus tres opciones resaltadas

Si el valor llega por otra vía, como una importación, un Script o la API, el servidor lo rechaza con un mensaje como este:

El valor de ‘customFields.nivelDeServicio’ debe ser uno de los siguientes valores: (Básico, Estándar, Premium) y recibió ‘Oro’.

Es la regla más útil, porque protege el dato en todos los caminos de entrada. En el editor visual de formularios, el tipo Lista desplegable produce el mismo resultado; los tipos están en Campos personalizados: editor, tipos y estados.

Cada objeto trae campos obligatorios de fábrica, marcados con un asterisco y la palabra (requerido). En un ticket, por ejemplo, Asunto y Descripción no se pueden dejar en blanco. Para comprobarlo:

  1. Abre el formulario del registro, por ejemplo Tickets → +.
  2. Pulsa Crear sin rellenar esos campos.

Prolibu no guarda y escribe «Este campo es obligatorio» debajo de cada campo que falta.

Formulario Crear Ticket con el campo Asunto resaltado, en rojo y con el mensaje Este campo es obligatorio

En un campo personalizado nuevo, la regla Requerido del editor de formularios hace lo mismo.

Cuando un dato solo es imprescindible en un momento del proceso, no lo hagas obligatorio desde el principio: exígelo en la etapa. Por ejemplo, un contacto puede crearse sin Cargo, pero la etapa Cliente puede pedirlo.

  1. En el menú lateral, abre Sistema → Etapas.
  2. Abre la etapa con el menú de tres puntos → Editar.
  3. En Campos obligatorios, marca el campo.
  4. Pulsa Guardar.

Cuando alguien pone un registro en esa etapa sin el dato, Prolibu abre el diálogo Campos requeridos y no guarda hasta que lo rellena. El paso a paso completo, con el campo Tipo de etapa que necesita la etapa, está en Etapas y reglas de pipeline.

Lo que la definición acepta pero no comprueba

Sección titulada «Lo que la definición acepta pero no comprueba»

Estas claves se guardan y dejan escrita la intención, pero no impiden guardar un valor que las incumpla:

ReglaQué esperaríasQué ocurre
patternRechazar un código con otro formatoEl valor se guarda igual. Con ^[A-Z]{3}-[0-9]{4}$, abc42 se guardó sin aviso desde el formulario y desde la API.
minimum / maximumLimitar el rango de un númeroEl valor se guarda igual. Con un rango de 0 a 100, se guardó 500.

Si necesitas ese control, tienes tres caminos:

  • Convierte el límite en una lista. Si los valores válidos son pocos, enum los cierra de verdad.
  • Limpia el dato antes de que entre. Corrige el archivo antes de importarlo.
  • Comprueba con un Script. Un script puede leer el valor al crear o actualizar el registro y actuar en consecuencia. Pruébalo con registros de prueba antes de activarlo.

Antes de añadir reglas, comprueba que el tipo es el correcto. Un número guardado como number no acepta letras y se puede ordenar en los filtros. Una fecha guardada como date abre un calendario en lugar de una caja de texto libre. Los campos que trae el sistema, como Correo electrónico, ya tienen sus propias validaciones y no se cambian desde Campos Personalizados.

Preguntas frecuentes

¿Te fue útil este artículo?