Saltar al contenido principal

Hacer que un campo sea obligatorio o de solo lectura en un formulario

Objetivo​

Marcar un campo de un formulario como obligatorio (el usuario debe rellenarlo antes de poder guardar el registro) o de solo lectura (el campo se muestra, pero no se puede editar).

Requisitos previos​

  • Ha iniciado sesión con un rol de creador (o de administrador de la plataforma).
  • Tiene un formulario abierto en el Diseñador de formularios con el campo colocado en él (consulte Crear un formulario).

Pasos​

  1. En el Diseñador de formularios, seleccione el campo en el lienzo. Su configuración aparece en el panel Propiedades.

  2. Marque Obligatorio para que el campo sea imprescindible en este formulario. Un campo obligatorio muestra una estrella roja junto a su etiqueta, y el formulario se niega a guardar mientras el campo esté vacío, marcándolo con «Este campo es obligatorio.»

    La casilla empieza con la configuración propia del campo (consulte Agregar un campo a una tabla), así que un campo marcado como obligatorio al crearlo ya aparece marcado aquí, que es lo que el usuario encontrará en el formulario. Déjela como estaba y la ubicación simplemente seguirá al campo; desmárquela y este formulario indicará que el campo es opcional, diga lo que diga más adelante la configuración propia del campo.

  3. Marque Solo lectura para mostrar el valor del campo sin dejar que el usuario lo cambie. Un campo de solo lectura se muestra como texto sin formato, sin control de entrada.

  4. Seleccione Guardar.

Qué ocurre entre bastidores​

Obligatorio y solo lectura son propiedades de la ubicación del campo en este formulario, no del campo en sí, así que el mismo campo puede ser obligatorio en un formulario y opcional en otro. Se guardan dentro de la definición del formulario y se comprueban contra el esquema de formularios.

Una ubicación solo almacena Obligatorio cuando difiere de la configuración propia del campo. Eso es lo que permite que un campo marcado después como obligatorio se propague a todos los formularios que nunca dijeron lo contrario, mientras que un formulario que lo relajó deliberadamente mantiene su decisión.

La obligatoriedad es una regla del formulario, exactamente igual que en Power Apps: no es una restricción de la base de datos. Todas las columnas de una tabla admiten valores nulos en la base de datos, así que:

  • Es el formulario el que impone «rellene esto»: la comprobación se ejecuta en el navegador al guardar, y un valor obligatorio que falta bloquea el guardado sin ir al servidor.
  • Un registro creado de otra manera (una importación, una llamada a la API, un guardado parcial) no se rechaza por faltarle un campo obligatorio. El único valor que exige el servidor es el campo principal (el nombre) del registro, porque es con lo que todas las listas y búsquedas muestran el registro.

Como la obligatoriedad reside en el formulario y no en la columna, puede agregar un campo obligatorio a una tabla existente, o relajar uno, sin reescribir ningún dato.

Solución de problemas​

  • No aparecen la estrella ni la comprobación de obligatoriedad. — Confirme que marcó Obligatorio en la ubicación del campo (seleccione el campo, no su sección) y que guardó el formulario. La obligatoriedad predeterminada del propio campo solo se aplica cuando la ubicación no la reemplaza.
  • Un campo que marqué como de solo lectura sigue guardando un valor antiguo. — Solo lectura significa que el usuario no puede editar el campo en este formulario; un valor que ya está en el registro se muestra y se conserva tal cual. Para impedir que se escriba un valor en absoluto, quite el campo del formulario.

Escenarios relacionados​