Make a Field Required or Read-only on a Form
Goal
Mark a field on a form as required — the user must fill it before the record can be saved — or read-only — the field is shown but cannot be edited.
Prerequisites
- You are signed in with a maker (or platform administrator) role.
- You have a form open in the Form Designer with the field placed on it (see Create a Form).
Steps
-
In the Form Designer, select the field on the canvas. Its settings appear in the Properties panel.
-
Tick Required to make the field mandatory on this form. A required field shows a red star next to its label, and the form refuses to save while the field is empty, marking it with "This field is required."
The box starts at the field's own setting (see Add a Field to an Entity), so a field marked required when it was created is already ticked here — which is what the user will meet on the form. Leave it as you found it and the placement simply follows the field; untick it and this form says the field is optional, whatever the field's own setting says later.
-
Tick Read-only to show the field's value without letting the user change it. A read-only field is displayed as plain text, with no input control.
-
Select Save.
What happens behind the scenes
Required and read-only are properties of the field's placement on this form, not of the field itself — so the same field can be required on one form and optional on another. They are saved inside the form definition and checked against the form schema.
A placement stores Required only when it differs from the field's own setting. That is what lets a field later marked required propagate to every form that never said otherwise, while a form that deliberately relaxed it keeps its decision.
Requiredness is a form rule, exactly as it is in Power Apps — it is not a database constraint. Every entity column is nullable at the database level, so:
- The form is what enforces "fill this in": the check runs in the browser when you save, and a missing required value blocks the save without a round trip to the server.
- A record created another way (an import, an API call, a partial save) is not rejected for a missing required field. The only value the server insists on is the record's primary (name) field, because that is what every list and lookup displays the record by.
Because required lives on the form and not the column, you can add a required field to an existing table, or relax one, without rewriting any data.
Troubleshooting
- The star and the required check do not appear. — Confirm you ticked Required on the field's placement (select the field, not its section) and saved the form. A field's own default requiredness applies only when the placement does not override it.
- A field I marked read-only still saves an old value. — Read-only means the user cannot edit the field on this form; a value already on the record is shown and kept as is. To stop a value being written at all, remove the field from the form.