I need to write a Validation Rule that states: When a user manually tries to change or update the value of Stage on Opportunity object it should throw an error. On opportunity there exists an Approval Process and the stage should be updated only through an approval process or there is a field update through Approval Process.

  • You should put a Read-Only to that field in Page Layout Level. If you write a validation rule, it will effect even for the field update or Approval process... – Subhash May 25 '16 at 7:05
  • Hie, Thanks for the quick response, I can not put that field read only as Stage needs to be restricted only for two values i.e. 1) When the stage moves from Gate 2 to Gate 3 2) When the stage moves from Gate 3 to Gate 4 – guest610 May 25 '16 at 7:08
  • But if these stage changing values doing through the Field Update or Approval process, then also the validation rule will hit... Is that OK? – Subhash May 25 '16 at 7:18

You can use Workflow rule and Record type to achieve this. Create Two record type and set their dependent picklist values. When You submit that record for approval, update a sample field which will call workflow rule to change the record type of your object. And using that record type you can see the picklist values which are valid for the user to set.

| improve this answer | |

I wrote a simple validation rule which fires only when the field is being updated manually and not through the approval. I am quite dazed by the way it functions but it works. The Approval process bypasses the validation and it updates the record as per the functionality.

This is the simple Validation Rule I wrote and it worked fine:

(ISPICKVAL(PRIORVALUE(StageName), 'Gate 2') && ISPICKVAL(StageName, 'Gate 3'))


(ISPICKVAL(PRIORVALUE(StageName), 'Gate 3') && ISPICKVAL(StageName, 'Gate 4'))

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.