title: How do I use IValidatableObject?
body: <p>I understand that <code>IValidatableObject</code> is used to validate an object in a way that lets one compare properties against each other.</p>
  <p>I'd still like to have attributes to validate individual properties, but I want to ignore failures on some properties in certain cases.</p>
  <p>Am I trying to use it incorrectly in the case below?  If not how do I implement this?</p>
  <pre><code>public class ValidateMe : IValidatableObject
  {
      [Required]
      public bool Enable { get; set; }
  
      [Range(1, 5)]
      public int Prop1 { get; set; }
  
      [Range(1, 5)]
      public int Prop2 { get; set; }
  
      public IEnumerable&lt;ValidationResult&gt; Validate(ValidationContext validationContext)
      {
          if (!this.Enable)
          {
              /* Return valid result here.
               * I don't care if Prop1 and Prop2 are out of range
               * if the whole object is not &quot;enabled&quot;
               */
          }
          else
          {
              /* Check if Prop1 and Prop2 meet their range requirements here
               * and return accordingly.
               */ 
          }
      }
  }
  </code></pre>