[SalesForce] Validation rule prevent user deleting record in pipelines

I need to write a validation rule that prevents the user from deleting any pipeline records that they did not create? How can I accomplish this?

Best Answer

The only way to validate deletion is with an Apex Trigger. To validate a record and prevent its deletion, you need to call addError.

The most basic working structure would look like:

trigger MyObject on MyObject__c (before delete)
{
    for (MyObject__c record : trigger.old)
    {
        if (UserInfo.getUserId() != record.CreatedById)
        {
            record.addError('Some validation message');
        }
    }
}

A few things to note: