Overview:
Offline Validation Rules are not working when using the $User.Id to compare with a User Lookup field such as: OwnerId.
Root Cause:
iRep truncates most Salesforce IDs from length 18 to length 15. The $User.Id is not truncated from length 18 to length 15 by design.
Evaluating $User.Id in a validation rule such as: OwnerId <> $User.Id does not work because the OwnerId in iRep is always the 15th character ID and is compared with the User.Id which would always be the 18th character ID.
Solution:
Use a CASESAFEID(Id) to convert the 15 character IDs to 18 character IDs.
For Example: CASESAFEID(OwnerId) <> CASESAFEID($User.Id)
Related Documentation:
CRM Help Documentation: Offline Validation Rules
Send us your feedback: We're always looking for advice to help improve our Knowledge Base! Please let us know if this article was helpful or provide feedback on how we can improve your experience here.