function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
Lakshmi Sambandham 3Lakshmi Sambandham 3 

Please provide me the best solution for this

On the Opportunity object, prevent non-admin users from modifying the Opportunity Name once Probability is greater than 50% and Prevent Opportunity from being deleted if Probability greater than or equal to 75%
@Amit Kumar Giri@Amit Kumar Giri
Validation rule and a small piece of code will be the ideal solution. Code is required for the 2nd criteria that u have. 

Restrict non-admin user from modifying Oppty Name if probability > 50%. This will be done by validation rule
AND($Profile.Name <> 'System Administrator', Probability > 0.50, ISCHANGED(Name))
** If u have multiple profile treated as admin profile, then u can put that in a OR condition

Prevent Oppty from being deleted if probability >=75. Fo this u need a before delete trigger code/or code in class called by oppty trigger on before delete. In validation rule we can not check the delete event. Permission set would have worked if >=75% criteria was not there. So i believe code is the solution.
trigger Opportunity_Trigger on Opportunity(before delete){
    Id profileId=userinfo.getProfileId();
    String profileName=[Select Id,Name from Profile where Id=:profileId].Name;
    for(Opportunity opp : trigger.old){
        if(profileName != 'System Administrator' && opp.Probability >= 0.75){
            opp.addError('Non Admin user can not delete Oppty if Probability greater than equals to 75%.');
        }
    }
}