How do I use IValidatableObject?
<p>I understand that <code>IValidatableObject</code> is used to validate an object in a way that let's 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 "enabled"
         */
    }
    else
    {
        /* Check if Prop1 and Prop2 meet their range requirements here
         * and return accordingly.
         */ 
    }
}
}
</code></pre>
