Making a field required on a form only protects that form. Grid edit, imports, pipelines and API buttons can all save the record without it. And the field-level Required setting is all or nothing, which doesn’t help when the value only matters later in the process.
For that, put the check on the table instead. In the table’s Advanced Settings, turn on custom data rules and add a formula. It runs on every add or edit, wherever it comes from.
A simple one:
If(Trim([Cost Center]) = "", "Cost Center is required.")Or only at a certain step:
If([Status] = "Submitted" and Trim([Cost Center]) = "", "Cost Center is required before you submit.")Two things I’ve learned. Keep the message specific, since on an API or pipeline save it shows up in the response or the pipeline error, not next to the field. And existing records that break the rule aren’t touched, but they’ll fail on their next edit until someone fills the value in.
Want more detail? I wrote a full walkthrough here: https://www.topstep.tech/blog/quickbase-required-fields-custom-submit-button-data-rule