I have a "software license" object that should be readable by a customer community plus user except for one field that should be editable.

Set up

  • The default external sharing setting for the "software license" object is private
  • Through a sharing set I've given the profile read & edit rights for licenses associated with his account.
  • I've given the profile of this user Read & edit rights for the "software license" object.
  • There is currently no field level security set.


I need to prevent the user from editing any other field then an "authorized user" field in the license object. I thought of doing this by Field level security (setting all other fields to read only). However I can't add the field level security to required fields like "Expiry date". How can I prevent the user from editing any other field then "authorized user" if I need required fields and therefore can't use field level security?

1 Answer 1


Quick alternate approach could be to make the field non-mandatory (setting the field level security as per need) and adding a validation rule on Expiry Date field as per business requirement, this may not be very elegant solution but is workable.

  • That is indeed a solution, but not very handy :). Why isn't it just possible to have required fields that are read only for certain profiles?
    – ThaNoob
    Commented Dec 30, 2021 at 17:16
  • Equally dissatisfying: Add a validation rule that lists all the "required read-only" fields in the style of: ((PRIORVALUE(Necessary_Number__c) <> Necessary_Number__c) || ...) && ($Profile.Name = "Customer Community User") Commented Dec 30, 2021 at 23:30

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .