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.