One way would be through a validation rule, but this would be a little annoying since it wouldn't fire until the user tried to edit and save the record.
You could also add an approval process which can control record accessibility more info here:
Specify Approver Field and Record Editability
When you define approval steps, you can assign approval requests to
different users. One option is to use a user field to automatically
route these requests. The user field can be any custom hierarchical
relationship field such as Account Manager or the Manager standard
user field. To see some examples of specifying a user field as an
approver field, see Examples of Approval Processes.
When a record is in the approval process, it is always locked; only an
administrator can edit it. However, you can also allow the
currently-assigned approver to edit the record. You can still add
campaign members to campaigns locked for approval.
From the Next Automated Approver Determined By picklist, select a user
field if you want Salesforce to automatically assign approval requests
to an approver based on the value in the user field. For example, you
may want approval requests automatically routed to a user's manager as
specified in the Manager standard user hierarchy field. Or, you may
want approval requests automatically routed to an associate specified
in a custom Account Manager user field.
To specify a user to approve all approval requests, leave this field
blank. You can select a user, or users, as the approver when creating
an approval step.
Warning
If you leave the Next Automated Approver Determined By field blank,
you can't automatically assign approval requests to the manager in any
step you create for this approval process.
Select Use Approver Field of Record Owner if you want the first
executed approval step to use a standard or custom user hierarchy
field on the record owner's user record—instead of the submitter's
user record—as the approver. All remaining steps use the specified
user hierarchy field in the user record of the preceding step’s
approver.
For example, suppose you want the approval process to automatically
assign each step’s approver using the Manager standard user hierarchy
field. The first approval step that isn’t skipped uses the record
owner’s manager as the approver. All the other steps use the preceding
approver’s manager as the approver.
Note
Make sure the assigned approver has access to read the records for the
approval requests. For example, a user who does not have read access
to an Expenses custom object will not be able to view expense approval
requests.
Select Administrators ONLY... if you want only users with the “Modify
All” object-level permission for the given object, or the “Modify All
Data” permission, to be able to edit records that are pending
approval. Select Administrators OR... if you want the assigned
approver to be able to edit the records too. The assigned approver
must also have edit access to the record through both their
permissions and the organization-wide sharing defaults for the given
object. When a record is submitted for approval, it is automatically
locked to prevent other users from editing it during the approval
process.
Click Next. If you are editing an existing approval process and don't
want to make further changes, click Save to store your changes.