title: IValidatableObject Validate() for different scenarios
body: <p>I’ve been implementing <strong>IValidatableObject</strong> on Model entities, and using <strong>Validate(ValidationContext)</strong> to perform validation, often complex. </p>
  
  <p>Can I use <strong>ValidationContext</strong> to distinguish different validation scenerios?</p>
  
  <p>e.g. take for example a User model where I have 3 validation scenerios:</p>
  
  <ul>
  <li>Sign up – I want to test an email is unique, and a small selection of required fields have been entered</li>
  <li>Change details – Different email uniqueness check, bit more required details after sign up, not changing password here so it doesn't need checked</li>
  <li>Change password – Only password field to validate</li>
  </ul>
  
  <p>Is this a proper use for it, and if so <em>how</em> do I ensure the correct ValidationContext properties are set after a post and before Validate() is called? Or should I be taking a totally different approach?</p>