Required at the field level means the user must enter something every time they save the record — non-null, non-empty. It applies to every record-creation and edit path: page layout, API, mobile, mass-update, Data Loader. It's a single boolean.
A Validation Rule is more flexible. It's a Boolean formula evaluated on save; if it returns TRUE the save is rejected with a custom error message. Validation rules can express conditional logic that field-required can't:
- "Close Date is required only if Stage = Closed Won" — required-when, not always required.
- "Discount cannot exceed 30% unless Approved By Manager is checked" — cross-field constraints.
- "Industry must be set when Annual Revenue is over a threshold" — dependent validation.
- "Email must match a regex pattern" — format validation that field-required can't check.
You'd pick required at the field level when the field truly must always have a value. You'd pick a validation rule when the requirement is conditional, depends on other fields, validates format, or you want a tailored error message for the user.
Validation rules also fire after Field-Level Security; a hidden required field can still block a save because the engine evaluates everything, even fields the user can't see. That's a common cause of confusing errors and a great follow-up.
