Step 1: From Setup, navigate to the Object Manager tab. In the Quick Find search box, search for the Opportunity object. Click on Opportunity to navigate to the Opportunity object’s settings
Step 2: Select Validation Rules from the left side of the page, and then click on the New button
Step 3: Give the Validation Rule a useful Rule Name. Leave the Active checkbox selected if the rule should be active immediately after creation, or deselect it to come back and activate it later. Then, a good Description
Step 4: Under Error Condition Formula, use the following syntax to create the logic for the Validation Rule:
AND( ISCHANGED(StageName), ISPICKVAL(StageName, "1. Discovery"), OR( ISBLANK(Initial_Meeting_Held__c), ISBLANK(Amount), Amount <= 0 ) )
Step 5: In the Error Condition Formula page, use the Insert Field button to identify and populate within the formula the fields to check against. Note: In this example, we are evaluating the Amount field and a custom Date field, called Initial_Meeting_Held__c - you can swap this field name out for the name of another custom field in your org. Then, use the Check Syntax button to verify that the Validation Rule logic has no syntax errors, which should yield 'no errors found' if configured correctly.
Step 6: Provide a useful Error Message and determine where the message should be displayed
Step 7: Click Save to create the new Validation Rule
Step 8: Navigate to an Opportunity record and attempt to move the Stage to ‘1. Discovery’ (or whichever Stage applies to your org) and note if an error displays. Be sure to test all scenarios to ensure that the rule works as intended
Notes About this Approach:
Why use ISCHANGED() when evaluating the Stage?
Using ISCHANGED() ensures that the validation rule only fires when the Stage is being changed to the value that needs to be evaluated. Without this parameter, the Validation Rule might fire when unrelated changes are made to the record.
Why use an OR() Block within the outside AND() block?
This ensures that if any of the following are true when the Stage is changed to the value being validated, that the validation rule fires and prevents saving the record: Amount is blank, Amount <= 0, custom Date Field is blank. Writing the rule in this way necessitates that when the Stage is changed to the evaluated Stage value, the Amount field must have a value > 0 and the custom Date field must have some value.
_____________________________________________
Written by: Zack Terry | Salesforce Answers Leader
Zack Terry is a Senior Salesforce Solution Architect at Fast Slow Motion, which aims to be a blessing to business leaders by helping them implement and maximize their use of the Salesforce platform. At the time of writing, Zack has worked in the Salesforce ecosystem for nearly a decade, holds 20 Salesforce Credentials, and has achieved the rank of “All-Star Ranger” on Trailhead. He regularly participates as an Answers Leader in the Salesforce Trailblazer Community.
Submissions reflect only the opinions of the user who made available the Submission and not the opinions of Salesforce, regardless of whether the user is affiliated with Salesforce, and may contain or constitute products, services, information, data, content and other materials made available by or on behalf of third parties ("Third Party Materials). Salesforce neither controls nor endorses, nor is Salesforce responsible for, any Third Party Materials, including their accuracy, validity, timeliness, completeness, reliability, integrity, quality, legality, usefulness or safety, or any applicable intellectual property rights. Any Submissions made available through any message board or forum in response to posted questions, or that otherwise purports to answer any questions, including any questions about Salesforce or Programs, are made available for your general knowledge only and should never be relied upon as answers to your specific questions (even if an answer is marked as a “best” answer or with any similar qualifications). You should always contact Salesforce support for answers to your specific questions. Salesforce has no control over Submissions, and is not responsible for any use or misuse (including any distribution) by any third party of Submissions.
If you have questions, tap into the wisdom of our entire Trailblazer Community here: https://trailhead.salesforce.com/trailblazer-community/feed
000396271

We use three kinds of cookies on our websites: required, functional, and advertising. You can choose whether functional and advertising cookies apply. Click on the different cookie categories to find out more about each category and to change the default settings.
Privacy Statement
Required cookies are necessary for basic website functionality. Some examples include: session cookies needed to transmit the website, authentication cookies, and security cookies.
Functional cookies enhance functions, performance, and services on the website. Some examples include: cookies used to analyze site traffic, cookies used for market research, and cookies used to display advertising that is not directed to a particular individual.
Advertising cookies track activity across websites in order to understand a viewer’s interests, and direct them specific marketing. Some examples include: cookies used for remarketing, or interest-based advertising.