Hi @josegdiazv ,
Well, there are few methods and I'd suggest 2 of them.
Method 1: JS style (will only work on front-end when user opens the record) [Note: It won't work if user makes changes to record from elsewhere]
Step 1: Create a security role just an identification purpose and assign it to the Users.
Step 2: Create a JS on the Form that will run OnLoad and will validate the 'account balance is greater than 500$' and also check security roles assigned to current logged in User.
Step 3: If the validation is true, then lock the field so user cannot make changes. Else keep open to edit.
Method 2: Use of Plugins (this will work even in backend)
Step 1: Create security role just like Method 1.
Step 2: Whenever any user makes changes on the Form. Before the updates are saved, fire the plugin to validate the updated record's 'account balance is greater than 500$' and triggered user's role contains the new security role.
Step 3: If your plugin detects the values + updates made on the Field you don't want it to be updated. Then simply throw error defining that user cannot update this record.
Hope this helps