Here's the exact steps:
Create a Help Page for the Candidate Object
We highly recommend that you create help pages for your custom objects. It's easy to provide useful information about your object by using a simple Visualforce page. Your users will thank you!
Let’s create a simple Visualforce help page to reference from your Candidate object.
From Setup, enter Visualforce Pages in the Quick Find box, then select Visualforce Pages.
Enter a label for your page — for example, Job Candidate Help.
Enter a unique name for the page — for example, Job_Candidate_Help.
In the Visualforce Markup area, enter information about your custom object. You might want to include dependencies, next steps, or other tips for using the object.
1 <h1>Help for the Candidate Object</h1>
3 <p>The Candidate object is for identifying and tracking individual candidates for job positions.</p>
4 <p>Sort candidates by Name, Location, Last Modified, and Prospect Rating.</p>
Now let’s reference the help page you just created from your Candidate object. To do this, we’ll edit the Candidate object.
In the Setup Quick Find box, type Object.
Under Create, click Objects.
Click Edit next to the Candidate object’s name.
Select Open a window using a Visualforce page and choose the page you created.
[Custom object help display setting]
I'm stuck on the very first step. Please advise!
I'm struggling with the logic of the task...
To complete this challenge, add a validation rule which will block the insertion of a contact if the contact is related to an account and has a mailing postal code (which has the API Name MailingPostalCode) different from the account's shipping postal code (which has the API Name ShippingPostalCode).Name the validation rule 'Contact must be in Account ZIP Code'.
A contact with a MailingPostalCode that has an account and does not match the associated Account ShippingPostalCode should return with a validation error and not be inserted.
The validation rule should ONLY apply to contact records with an associated account. Contact records with no associated parent account can be added with any MailingPostalCode value. (Hint: you can use the ISBLANK function for this check)
Here is what I got so far:
MailingPostalCode <> Account.ShippingPostalCode )
I THINK I know how to see if the contact mailing zip is not the same as the account shipping zip, and only if the is not blank.
The part I am stuck on is if the "Contact records with no associated parent account can be added with any MaiilingPostalCode value"...
I don't know what to do with that.
Also, I am now getting the error message when I recheck challenge:
Challenge not yet complete... here's what's wrong:
There was an unexpected error in your org which is preventing this assessment check from completing: System.DmlException: Insert failed. First exception on row 0; first error: FIELD_CUSTOM_VALIDATION_EXCEPTION, Contact_must_be_in_Account_ZIP_Code: 
Double help, please.